Hungry Web Developer Podcast
We interview Jared who worked as a senior software developer at Archer First Response Systems, a startup that specializes in deploying life-saving equipment using drone technology. He was the organizer of the Orlando IoT meetups and has a passion for hardware to software integrations
IoT devices are hardware devices that can talk to each other over the internet. Anything from smart cars, to smart therometers, to drones, sensors, etc. These devices can talk to each other and act on different parameters, so for instance telling a drone to drop off a AED device.
IoT devices can be a huge time saver for everyday life. Imagine trying to figure out how many calories your burning every day. You can use a fitbit to track your steps, and see charts and diagrams to plan your fitness plans much easier. It's really anything you want to measure with a sensor
However, IoT devices has some cons. Fitness trackers might sell your data to 3rd party companies for instance without your knowledge.
Testing can be quite challenging. You don't only just test the code. You need to test the physical device, almost like a factory assembly.
For instance, do all of the device's sensor work? How do you measure this? Does the drone fly, what are some tests we can do to ensure this?
With IoT development, you need to think about so many additional problems that can go wrong! Sometimes that requires you to drive over to that device to go fix it.
There's the question of talking to these IoT devices in real time, and how to patch firmware updates that might be big to them. Security vulnerabilities are always a potential issue as well
There's a tradeoff between cost and performance generally. How a device connects to a cloud service can be done a few different ways.
Long range Radio (LoRA) which connects the device through a low power wireless radio frequency. Other options include MTTP, which is like HTTP, but for messages.
Frameworks and languages for the actual codebase is usually written in C#, Java, Python, etc. It depends on the power requirements for the device as well, some languages require more processing power.
It depends on the use case. Having more memory on the device prevents the need to make a request to an outbound service, so it can work better in offline locations.
A good approach is just connect and don't cache things unless necessary. It's similar to how you might scale a traditional backend web application. The moment your making too many requests for the same set of data, embed it into the chip for instance.
There's way more things to debug with IoT development! The circuit might be fried. It might not just be connecting to your service. Your wireless module might be broken.
There's so many more things to narrow out with a IoT device besides code that might just be failing. Stackoverflow, lack of memory, storage, etc are all potential issues too
Jared talks about the electric car industry and where it's going. German talks about house renovation and kitchen cooking. Vincent talks about his experience going to the chiropractor and a message therapist for the first time