diff options
Diffstat (limited to 'python-pasco.spec')
-rw-r--r-- | python-pasco.spec | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/python-pasco.spec b/python-pasco.spec new file mode 100644 index 0000000..9d78026 --- /dev/null +++ b/python-pasco.spec @@ -0,0 +1,218 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pasco +Version: 0.3.62 +Release: 1 +Summary: PASCO Python API for Wireless Sensors +License: Other/Proprietary License +URL: https://pypi.org/project/pasco/ +Source0: https://mirrors.aliyun.com/pypi/web/packages/c1/58/b73f9234d1d8152fbd157a932e991352999d875a1d6e22dcc9b1a9675ae5/pasco-0.3.62.tar.gz +BuildArch: noarch + +Requires: python3-bleak +Requires: python3-nest-asyncio + +%description +## Step 1: Create an object for the device +`my_sensor = PASCOBLEDevice()` +If you know the device's 6-digit serial ID (printed on the device) you can quickly scan and connect using the command: +`my_sensor.connect_by_id('111-123')` +Otherwise perform Steps 2 & 3 to scan/connect. +## Step 2: Scan for available bluetooth (BLE) sensors +`my_sensor.scan()` Returns list of BLE devices found in the scan.` `my_sensor.scan('Temperature')` Returns a list of Temperature sensors found +How to use: +``` +found_devices = my_sensor.scan() +``` +## Step 3: Connect to a BLE sensor found from the scan +The scan command will return a list of found devices. Iterate through that list to determine which device you want to connect to. +One way is to print the list and prompt the user like this: +``` +for i, ble_device in enumerate(found_devices): + print(f'{i}: {ble_device.name}') +selected_device = input('Select a device: ') +my_sensor.connect(found_devices[int(selected_device)]) +``` +### Example of how to scan/connect +``` +my_sensor = PASCOBLEDevice() +found_devices = my_sensor.scan() +print('\nDevices Found') +for i, ble_device in enumerate(found_devices): + display_name = ble_device.name.split('>') + print(f'{i}: {display_name[0]}') +# Auto connect if only one sensor found +selected_device = input('Select a device: ') if len(found_devices) > 1 else 0 +ble_device = found_devices[int(selected_device)] +my_sensor.connect(ble_device) +``` +## Step 4: View Device Sensor(s) +A device can have one or more on-board sensors. To view the list of sensors use the command `my_sensor.get_sensor_list()`. This returns a list of sensor names that a device has. +## Step 5: View Device Measurement(s) +Each sensor in the device can have one or more measurements. If you want to view all the measurements that a device has, use the command `my_sensor.get_measurement_list()`. +To view only the measurements that a sensor has, use the sensor name (from the list in Step 4) like this `my_sensor.get_measurement_list('WirelessWeatherSensor')`. +## Step 6: Start collecting data! +The measurement variable names come from Step 4 +To read the `Temperature` +`my_temperature_sensor.read_data('Temperature')` +To read the `RelativeHumidity` +`my_weather_sensor.read_data('RelativeHumidity')` +To read a multiple measurements at one time +`my_weather_sensor.read_data_list(['Temperature','RelativeHumidity'])` +To get the units for a single measurement +`my_temperature_sensor.get_measurement_unit('Temperature')` +To get the units for a list of measurements + +%package -n python3-pasco +Summary: PASCO Python API for Wireless Sensors +Provides: python-pasco +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pasco +## Step 1: Create an object for the device +`my_sensor = PASCOBLEDevice()` +If you know the device's 6-digit serial ID (printed on the device) you can quickly scan and connect using the command: +`my_sensor.connect_by_id('111-123')` +Otherwise perform Steps 2 & 3 to scan/connect. +## Step 2: Scan for available bluetooth (BLE) sensors +`my_sensor.scan()` Returns list of BLE devices found in the scan.` `my_sensor.scan('Temperature')` Returns a list of Temperature sensors found +How to use: +``` +found_devices = my_sensor.scan() +``` +## Step 3: Connect to a BLE sensor found from the scan +The scan command will return a list of found devices. Iterate through that list to determine which device you want to connect to. +One way is to print the list and prompt the user like this: +``` +for i, ble_device in enumerate(found_devices): + print(f'{i}: {ble_device.name}') +selected_device = input('Select a device: ') +my_sensor.connect(found_devices[int(selected_device)]) +``` +### Example of how to scan/connect +``` +my_sensor = PASCOBLEDevice() +found_devices = my_sensor.scan() +print('\nDevices Found') +for i, ble_device in enumerate(found_devices): + display_name = ble_device.name.split('>') + print(f'{i}: {display_name[0]}') +# Auto connect if only one sensor found +selected_device = input('Select a device: ') if len(found_devices) > 1 else 0 +ble_device = found_devices[int(selected_device)] +my_sensor.connect(ble_device) +``` +## Step 4: View Device Sensor(s) +A device can have one or more on-board sensors. To view the list of sensors use the command `my_sensor.get_sensor_list()`. This returns a list of sensor names that a device has. +## Step 5: View Device Measurement(s) +Each sensor in the device can have one or more measurements. If you want to view all the measurements that a device has, use the command `my_sensor.get_measurement_list()`. +To view only the measurements that a sensor has, use the sensor name (from the list in Step 4) like this `my_sensor.get_measurement_list('WirelessWeatherSensor')`. +## Step 6: Start collecting data! +The measurement variable names come from Step 4 +To read the `Temperature` +`my_temperature_sensor.read_data('Temperature')` +To read the `RelativeHumidity` +`my_weather_sensor.read_data('RelativeHumidity')` +To read a multiple measurements at one time +`my_weather_sensor.read_data_list(['Temperature','RelativeHumidity'])` +To get the units for a single measurement +`my_temperature_sensor.get_measurement_unit('Temperature')` +To get the units for a list of measurements + +%package help +Summary: Development documents and examples for pasco +Provides: python3-pasco-doc +%description help +## Step 1: Create an object for the device +`my_sensor = PASCOBLEDevice()` +If you know the device's 6-digit serial ID (printed on the device) you can quickly scan and connect using the command: +`my_sensor.connect_by_id('111-123')` +Otherwise perform Steps 2 & 3 to scan/connect. +## Step 2: Scan for available bluetooth (BLE) sensors +`my_sensor.scan()` Returns list of BLE devices found in the scan.` `my_sensor.scan('Temperature')` Returns a list of Temperature sensors found +How to use: +``` +found_devices = my_sensor.scan() +``` +## Step 3: Connect to a BLE sensor found from the scan +The scan command will return a list of found devices. Iterate through that list to determine which device you want to connect to. +One way is to print the list and prompt the user like this: +``` +for i, ble_device in enumerate(found_devices): + print(f'{i}: {ble_device.name}') +selected_device = input('Select a device: ') +my_sensor.connect(found_devices[int(selected_device)]) +``` +### Example of how to scan/connect +``` +my_sensor = PASCOBLEDevice() +found_devices = my_sensor.scan() +print('\nDevices Found') +for i, ble_device in enumerate(found_devices): + display_name = ble_device.name.split('>') + print(f'{i}: {display_name[0]}') +# Auto connect if only one sensor found +selected_device = input('Select a device: ') if len(found_devices) > 1 else 0 +ble_device = found_devices[int(selected_device)] +my_sensor.connect(ble_device) +``` +## Step 4: View Device Sensor(s) +A device can have one or more on-board sensors. To view the list of sensors use the command `my_sensor.get_sensor_list()`. This returns a list of sensor names that a device has. +## Step 5: View Device Measurement(s) +Each sensor in the device can have one or more measurements. If you want to view all the measurements that a device has, use the command `my_sensor.get_measurement_list()`. +To view only the measurements that a sensor has, use the sensor name (from the list in Step 4) like this `my_sensor.get_measurement_list('WirelessWeatherSensor')`. +## Step 6: Start collecting data! +The measurement variable names come from Step 4 +To read the `Temperature` +`my_temperature_sensor.read_data('Temperature')` +To read the `RelativeHumidity` +`my_weather_sensor.read_data('RelativeHumidity')` +To read a multiple measurements at one time +`my_weather_sensor.read_data_list(['Temperature','RelativeHumidity'])` +To get the units for a single measurement +`my_temperature_sensor.get_measurement_unit('Temperature')` +To get the units for a list of measurements + +%prep +%autosetup -n pasco-0.3.62 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pasco -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.62-1 +- Package Spec generated |