FYP: Accessibility, and Justification of Equipment
The next step was hooking up the master arduino to Hazel and have it listening out for the webapp's messages. This wasn't that hard as I'd already done it as part of my prior development in December. Unfortunately I was lacking a WiFly shield I had borrowed from the university at the time, and the university had all of the WiFlys booked out.
However part of the intention of this project was accessibility, the components needed to be cost effective and easily accessible. This cannot be said for the WiFly shield as it costs around $70. The official Arduino WiFi shield costs around the same. Instead I actively opted to use an ethernet shield for a number of reasons:
- A new third-party ethernet shield can cost less than £10 on ebay. The one I bought for this project cost £12.49. I selected that one because it had UK distribution.
- Nearly any third-party ethernet shield can be used with the Arduino's default Ethernet library. Another point for accessibility. The WiFly library is awkward and will only work for the WiFly, and no other Arduino WiFi shields, and vice versa.
- No authentication.
- The ethernet is simply plug and play. Ethernet will theoretically work on any network without having to modify the code. Whereas with WiFi each individual network has it's own SSID and password, which need to be set up in the code prior to connection.
- Wireless is unnecessary for this project.
- As the slave devices are wirelessly being communicated to by the master over 433MHz radio, there's no need for the master to be wireless. It can simply be placed next to the router.
While I'm explaining and justifying my use of the ethernet, I may as well do the same for the RF modules in a little depth. So I chose 433MHz RF as my communication protocol between arduinos because of a few reasons:
- This was one of the main factors determining the use of RF modules. These modules are significantly more cost effective than anything else on the market. With a transmitter and receiver pair only costing £1.26 on Amazon. Recently a set with pre-soldered antennas have popped up on amazon costing only £2.91.
- Standardization and ubiquity.
- These RF modules have standardized I/O pins and it's very easy finding modules of this design. The same library can be used for any module with the same I/O design.
- Broadcast and listen based communication.
- Communication protocols like Bluetooth require devices to connect to each other and authenticate against each other to maintain two-way communication. RF is a simple broadcast and listen system. While not as reliable or secure as Bluetooth, it's significantly easier to set up and scale with new devices.