(5/9/2016)
- Project is not yet complete and is currently more of a proof of concept.
- This repo page is currently pretty minimal. Once the project gets further along it will become more complete.
Firmware for an IoT device with seven attached sensors which takes frequent different environmental measurements. Uses a C library called the IoT Library that provides general functionality for IoT devices.
-
Sensors:
-
Other:
- Particle Photon
- LoRa transceiver
- Solar panel - May change...
- MPPT solar charging circuit - Heavy Chinglish warning!
- 900mm MHZ antenna
- SMA connector for antenna
- 3X Cyclon battery (2V 2.5Ah)
- Linear voltage regulator (3.3V out)
- Enclosure - Potentially may not be the exact one that I'm using, but it's close.
- Periodically uploads data to a server backend using a LoRa transceiver
- Stores sensor data locally if no upload connection can be made or if not enough time has passed to perform an upload
- Only runs sensors if the current outdoor temperature is within their operating range
- Sensors are polled at different rates
- Low-ish power consumption
In progress...
TODO
There are two available options that you can choose to build this project and flash it onto a Particle device.
You can either:
- Use either the Atom IDE setup that particle provides (either locally downloaded or cloud based)
- This is by far the simplest option to get going quick, but the downside is that you will be using an IDE that is pretty simple ATM (very limited auto-completion, etc.)
- Setup the toolchain for building firmware for Particle devices on your local machine. This will allow you to use whatever IDE you want that can be customized to run other programs.
- This is the route that I went. For me I spent many frustrating hours trying to get the build system off the ground.
- If you go this route, you can either:
- Use a premade installer
- Manually install the toolchain yourself
- If you decide to build locally, please beware that if you are working in Windows, you are very likely going to run into some major "fun" with GNU Make. In particular:
- If you have file paths in your PATH variable that contain brackets "()", make will crash and give you a very cryptic and unhelpful error.
- If you're on Windows, you have normal paths that contain brackets (ie. "Program Files (x86)") which you can't change.
- So to get around this, since make reads PATH in order from beginning to end, make sure you put what it needs to find ahead of any path that contains brackets.
- Make also strongly dislikes spaces. While it won't crash from simply reading a path that contains a space, if it's working with a path that contains a space, it will give you errors related to not being able to a path not existing. This is because whenever it sees a space, it thinks the path ends there. Solution is simple; replace the space with an "_" or similar.
- If you have file paths in your PATH variable that contain brackets "()", make will crash and give you a very cryptic and unhelpful error.
- There is also an automatic installer here
- If you decide to build locally, please beware that if you are working in Windows, you are very likely going to run into some major "fun" with GNU Make. In particular:
If you're interested in contributing to this project, issues and pull requests are totally welcome!