So it looks like the Cellular Expansion is essentially the Nova -- they share the same Ublox SARA-U201 modem.
Specs here:
https://hologram.io/store/nova-global-3g-2g-cellular-modem
I wrote everything below before I hit another brick wall. We need the psutil python package cross-compiled, it won't install via pip, and it's the last package needed before hologram-python will install. So you have to install GCC and Make following the guide here: https://docs.onion.io/omega2-docs/c-compiler-on-omega.html. I've revised the below instructions.
To install the Hologram Python SDK, you have to:
opkg install python python-dev python-distutils python-crypto python-pip
pip install --upgrade pip
pip install --upgrade setuptools
pip install python-sdk-auth
- Install GCC and Make (https://docs.onion.io/omega2-docs/c-compiler-on-omega.html)
pip install hologram-python
Make sure you have a USB or SD card mounted and setup as the main storage, or you won't have enough room for everything.
You can then use the SDK as described here:
https://hologram.io/docs/reference/cloud/hologram-cli/
and here
https://hologram.io/docs/reference/cloud/python-sdk/opkg
While this allows you to install and run the python SDK, it doens't actually work. I get an error relating no no available usb backend (see code). Bummer.
root@Omega-32CB:~# hologram modem signal
Traceback (most recent call last):
File "/usr/bin/hologram", line 167, in <module>
if __name__ == '__main__': main()
File "/usr/bin/hologram", line 163, in main
_command_handlers[command_selected_prefix](args)
File "/usr/lib/python2.7/site-packages/scripts/hologram_modem.py", line 147, in run_hologram_modem
_run_handlers[args['command_selected']](args)
File "/usr/lib/python2.7/site-packages/scripts/hologram_modem.py", line 60, in run_modem_signal
cloud = CustomCloud(None, enable_inbound=False, network='cellular')
File "/usr/lib/python2.7/site-packages/Hologram/CustomCloud.py", line 35, in __init__
network=network)
File "/usr/lib/python2.7/site-packages/Hologram/Cloud.py", line 36, in __init__
self.initializeNetwork(network)
File "/usr/lib/python2.7/site-packages/Hologram/Cloud.py", line 50, in initializeNetwork
self._networkManager = NetworkManager.NetworkManager(self.event, network)
File "/usr/lib/python2.7/site-packages/Hologram/Network/NetworkManager.py", line 40, in __init__
self.network = network
File "/usr/lib/python2.7/site-packages/Hologram/Network/NetworkManager.py", line 70, in network
self._network.autodetect_modem()
File "/usr/lib/python2.7/site-packages/Hologram/Network/Cellular.py", line 47, in autodetect_modem
dev_devices = self._scan_for_modems()
File "/usr/lib/python2.7/site-packages/Hologram/Network/Cellular.py", line 114, in _scan_for_modems
if self._scan_for_modem(modemHandler):
File "/usr/lib/python2.7/site-packages/Hologram/Network/Cellular.py", line 128, in _scan_for_modem
dev = usb.core.find(idVendor=vid, idProduct=pid)
File "/usr/lib/python2.7/site-packages/usb/core.py", line 1263, in find
raise NoBackendError('No backend available')
usb.core.NoBackendError: No backend available