- Accounts with the following providers:
- Access to the following services (See Service configuration for more
- SITCH feed. See https://github.com/sitch-io/feed_builder for more information.
- Raspberry Pi 3
- Simcom (SIM808 | SIM800L | SIM900) GSM modem with SIM
- USB TTY cable (for GSM modem)
- RTL-SDR device. Tested with NooElec NESDR Mini and NooElec NESDR XTR
- GlobalSat USB GPS dongle (any gpsd-compatible USB GPS shold work)
Step by step...
- Create an application in Resin.
- Fork this project and clone it on your workstation. Or clone it directly... but forking makes modifications and PRs easier to deal with.
- Add the Resin application as a remote repo (
git remote add resin firstname.lastname@example.org/myusername/myapplicationname.git)
- Push to your Resin application:
git push resin master
We expect (at least) the following environment variables to be set in Resin:
|LOCATION_NAME||Override the default device name (Resin UUID)|
|STATE_LIST||List of states (in caps) for FCC feed. ex: "CA,TX"|
|VAULT_PATH||Path to logstash cert/keys in Vault|
|VAULT_TOKEN||Token for accessing credentials in vault|
|VAULT_URL||URL for accessing Vault. ex: https://v.example.com:port|
Testing is done with pytest. Coverage module optional.
Testing requirements (local testing possible only on Linux):
- pip packages: pytest-cov pytest-pep8 pyserial hvac kalibrate haversine python-geoip python-geoip-geolite2 pyudev gps3 LatLon python-dateutil
- Navigate to the base directory of the repository.
- Set the environment variable to reach your SITCH feed:
py.test --cov sitchlib.
- OR, offer a PR and let travis-ci build and run the tests for you.
GSM modem device detection
If you're using a GSM modem that's not recognized by the device detector,
please add the output from running the
ATI command against your GSM modem in
the variable named
positive_match in the
is_a_gsm_modem() method, in the
sensor/sitch/sitchlib/device_detector.py file. Then send a pull request so
that everyone can get the benefit of your discovery.
- Please do PRs against the
- To add an ID string to the device detector for GSM modems, add part of the
ID string to the
positive_matchvariable in the