summaryrefslogtreecommitdiff
path: root/python-pasco.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-pasco.spec')
-rw-r--r--python-pasco.spec218
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