Started playing with the GrovePi Starter kit for RaspberryPi.
I chose GrovePi this as there is no complex wiring, have a look at how nicely it fits the Raspberry pi .
I got involved and able to get some sensor data easily using GrovePi Software, checkout
projects in
https://github.com/DexterInd/GrovePi
Here is the tutorial on the first project ..
https://www.dexterindustries.com/GrovePi/projects-for-the-raspberry-pi/raspberry-pi-led-tutorial/
I got excited now I want to do more , I want to do analytics . So was thinking about gathering data from sensors- temperature , humidity , sound and light readings and send it to thecloud for doing analytics . Python was new to me , but want to use it any way as I can learn a new language.It was easy and I wasn't stuck with any thing .It was fun learning as well .
Go Python !
Data will be stored in redis , as I don't want to store a lot of data . Just last 100 readings
or so and get the current and average readings from the sensors ( this project info is in http://ajaxrocks.blogspot.com/2017/07/fun-with-iot.html ) for this but current integration is only for PubNub
as well . Started building a sample app , using AWS Lambda's .. hey!! ..always want to get my hands on server-less programming as well . Alexa sample app Tutorial used node js .. this is good , I can sharpen my node js skills . Okay I built the sample app .. It was so much fun , the sample app used Facts as an array (that are hardcoded ) . When you invoke it using Alexa , it chooses one of the Fact
randomly . Fun part is you change all the facts and then keep asking facts !! . See programming can be fun
Picture Time ..
It provides Infrastructure as a Service for doing messaging . they have SDK for almost all the languages I use .Cool , now I can invoke the GroveSensors ( Light on ! ) using PubNub message . Tried it it worked great .. hey .. Next part if you haven't already guessed I can use Alexa to invoke it .. Yeah !
Shoutout to Alexa SDK, Google Cloud , PubNub , Raspberry Pi and Grove Pi ... Thanks Guys
Learn new languages in a very pragmatic way . I have all the code I used in the github links
, so play with them , hack them for your use case , make them better ..
https://github.com/arun2dot0/AlexaNodeJS.git
Code for API ( I setup in google cloud)
https://github.com/arun2dot0/metrics-rest-service-redis.git
Code for Raspberry pi ( Python )
https://github.com/arun2dot0/PubNubPython.git
I chose GrovePi this as there is no complex wiring, have a look at how nicely it fits the Raspberry pi .
I got involved and able to get some sensor data easily using GrovePi Software, checkout
projects in
https://github.com/DexterInd/GrovePi
Here is the tutorial on the first project ..
https://www.dexterindustries.com/GrovePi/projects-for-the-raspberry-pi/raspberry-pi-led-tutorial/
Journey starts ...
After that I did couple of others , like home weather display and twitter feed .I got excited now I want to do more , I want to do analytics . So was thinking about gathering data from sensors- temperature , humidity , sound and light readings and send it to thecloud for doing analytics . Python was new to me , but want to use it any way as I can learn a new language.It was easy and I wasn't stuck with any thing .It was fun learning as well .
Go Python !
Data Layer
Now I have to push data to a Data layer . Why not use an instance in Google Cloud (they are giving 300$ in free credit!) .Rest API in cloud will be based on Java and Spring Boot .Data will be stored in redis , as I don't want to store a lot of data . Just last 100 readings
or so and get the current and average readings from the sensors ( this project info is in http://ajaxrocks.blogspot.com/2017/07/fun-with-iot.html ) for this but current integration is only for PubNub
Alexa Skill
While all this was going on , I see Alexa app demos . So I started looking into thatas well . Started building a sample app , using AWS Lambda's .. hey!! ..always want to get my hands on server-less programming as well . Alexa sample app Tutorial used node js .. this is good , I can sharpen my node js skills . Okay I built the sample app .. It was so much fun , the sample app used Facts as an array (that are hardcoded ) . When you invoke it using Alexa , it chooses one of the Fact
randomly . Fun part is you change all the facts and then keep asking facts !! . See programming can be fun
Picture Time ..
Concept is actually the time triggered to take
picture instead of LED blink
Messaging using PubNub
While all this was going on , I learnt about PubNub in DevNetCreate conferenceIt provides Infrastructure as a Service for doing messaging . they have SDK for almost all the languages I use .Cool , now I can invoke the GroveSensors ( Light on ! ) using PubNub message . Tried it it worked great .. hey .. Next part if you haven't already guessed I can use Alexa to invoke it .. Yeah !
Rewiring to use API
All set now I invoke , node js call to PubNub worked great .Deployed to AWS , now it just doesn't want to work !! Hmmmm... may be I am doing something wrong .. setup security , network interfaces .. still not working .. Don't know what the real reason was .Why waste time on this , let me set this up as a rest api in google cloud and use Alexa skill ( node js) to call that api... hey that can work .... setup the api .. changed the alexa app and everything worked like a charmShoutout to Alexa SDK, Google Cloud , PubNub , Raspberry Pi and Grove Pi ... Thanks Guys
Architecture
Learn it ,Use it , Hack it
This project was fun , it also helped understand technologies involved with IOT better .Learn new languages in a very pragmatic way . I have all the code I used in the github links
, so play with them , hack them for your use case , make them better ..
github links
Code for AWS Lambda ( Node js)https://github.com/arun2dot0/AlexaNodeJS.git
Code for API ( I setup in google cloud)
https://github.com/arun2dot0/metrics-rest-service-redis.git
Code for Raspberry pi ( Python )
https://github.com/arun2dot0/PubNubPython.git
2 comments:
Nicely written Arun. Good to see all 3 integrations.
Best Regards,
Vipul Dave.
You are welcome
Post a Comment