Open IoT Challenge 2.0 - Update #3 - Late Post
I haven’t had the time in the last weeks to work in my side projects, therefore I couldn’t send the last resume of “Open IoT Challenge 2.0” on time.
The projects idea is to develop a Greenhouse Automation Platform.
My fist step is to develop a proof of concept(POC) to understand and involved in the problem and the technologies around it.
To build the first POC, we must first complete some smaller tasks, like connect end devices to sensor and actuators, then share data with a gateway, and connect the gateway to a central service.
As I have a lot of tasks to do I choosed a tool to help me with the planning and development process, github issues and Waffle.io https://waffle.io/iniot/Open-IoT-Challenge-2.0
I want to use wireless connections in all possible parts of the project, I’m playing with zigbee and arduino, and I’ve some zigbee devices. The technologies changed and evolve over time so I don’t want to coupling the project with zigbee or other wireless communications, so the project can evolve easily, therefore I need a easy to develop and customizable gateway, and multi purpose and lightway protocol communication, that was some reasons to choose Eclipse Kura and MQTT to my first POC.
The way of move from development to production, is a crucial point which affect the evolve and growth capabilities of the project, and I’m using Docker in my work with Deis, and I really love the git-push-deployment and The Twelve-Factor App methodology, I choose Docker and Resin.io.
Hardware:
- BeagleBoneBlack BeagleBone Black
- Mains Power Outlet psm-29zbsr
- TXInstruments CC2530 cc2530
- Auto flower watering kit KIT0003
Software:
- EclipseIoT kura + ConnectionFactory Kura
- zigbee4java zigbee4java
- docker + resin_io Resin.io
Issues
Resin.io + kura (Docker)
I worked to make it work Resin.io + kura in BeagleBoneBlack, therfore I built a docker image with jave for armv7hf and docker image with Eclipse Kura for BeagleBoneBlack
zigbee4java docker
Based on armv7hf-java-dockerhub I built a docker image with zigbee-console-javase to run zigbee in docker using zigbee4java
- https://github.com/jpizarrom/armv7hf-zigbee-console-javase-dockerhub
- https://github.com/tlaukkan/zigbee4java
CC2530, resin.io and ti stack
I worked to connect CC2530, resin.io and ti stack using uart ports
- port connections, firmware and sw configuration to control zigbee Mains Power Outlet psm-29zbsr using BBB board
- https://talk.resin.io/t/serial-port-usage-uart4-in-bbb/187
arduino zigbee auto watering: sense
I’ve developed an arduino sketch to connect the Auto flower watering kit with zigbee home profile. I’ve used some code of smart_sprinkle to improve and stabilize my sketch
- https://github.com/jpizarrom/arduino-zigbee-auto-watering
- https://github.com/d8adrvn/smart_sprinkler
Kura zigbee4java console in configuration
I’ve added a configuration to kura admin to send commands to the zigbee-console-javase
Kura zigbee4java mqtt greenhouse
I’ve extended the greenhouse sample app https://github.com/kartben/kura-greenhouse-demo to support zigbee and so I send data and control end devices with mqtt providers, like aws iot, m2x.att.com or other cloud provider supporting mqtt.
Kura zigbee4java mqtt console commands(m2x.att.com)
I’ve configured/integrated kura and greenhouse app with m2x.att.com commands, so I can send commands to the devices(join enable) using Do Button App do/button
Code
Kura zigbee4java mqtt docker image and video
My next steps are:
- I’ll build a kura docker image with preintalled
- record a video
- build an architecture diagram