Showing posts with label raspberrypi. Show all posts
Showing posts with label raspberrypi. Show all posts

7/4/19

Week #27's Wednesday Evening Training: A good old IoT "klusavond" featuring the Arduino microcontroller and Mozilla WebThings

Two topics, this evening, on Internet of Things (IoT)...

An introduction of the Arduino technology with some nice handson labs by Aishwarya Dhall

We do this on a regular basis in our Wednesday Evening Trainings, to give our colleagues the opportunity to catch up on IoT any time during the year. More experienced colleagues continued with their own labs. In this way everyone can acquire knowledge and experience with this technology at their own pace.

A first exploration van Mozilla WebThings (by me)

Well, this is quite a new thing and quite promising!
As a result of Mozilla's Project Things, Mozilla WebThings is an open platform for monitoring and controlling devices over the web.

It consists, roughly, of the following products:

  • WebThings Gateway: a software distribution for smart home gateways which allows users to directly monitor and control their smart home.
  • WebThings Framework: A collection of re-usable software components to help developers build their own functionality (web things).
  • Things UI: a unified web interface to monitor and control all smart home devices.

The interesting thing is that WebThings allows users to directly monitor and control their smart home over the web, without a middleman. Yes, no subscription for some kind of portal needed. This smart home gateways is focused on privacy, security and interoperability.

Installation and setup of WebThings is quite easy. In tonight's Wednesday Evening Training we just did that, and brainstormed on the applications and next steps we're going to explore next.

Interesting stuff, we'll definitely continue with WebThings!



Further reading

Do you want to read more on the topics in this post?

On IoT technology
What is an IoT Gateway? (SAP EA Explorer - Short Video): https://www.youtube.com/watch?v=6ObesqWDpEo
Mozilla IoT - Mozilla IoT team: https://github.com/mozilla-iot/

On Mozilla WebThings
Mozilla Project Things: https://labs.mozilla.org/projects/project-things
What Mozilla WebThings Has to Offer for the IoT: https://blog.paessler.com/what-mozilla-webthings-has-to-offer-for-the-iot
Introducing Mozilla WebThings: https://hacks.mozilla.org/2019/04/introducing-mozilla-webthings
Simple server for WiFi101, ESP8266, or ESP32 boards compliant with Mozilla's proposed WoT API: https://github.com/mozilla-iot/webthing-arduino
Mozilla WebThings - An open platform for monitoring and controlling devices over the web: https://iot.mozilla.org/
Easy Home Automation With Mozilla IoT & Raspberry Pi - Part 1: https://www.youtube.com/watch?v=maSdWQHSzCg
Getting Started with the WebThings Gateway for Raspberry Pi®: https://iot.mozilla.org/docs/gateway-getting-started-guide.html
Mozilla WebThings Documentation - A guide to using the WebThings Gateway and WebThings Framework: https://iot.mozilla.org/docs/

On demo's and examples (video's from my YouTube channel)
Mozilla Project Things Workshop: https://www.youtube.com/watch?v=uEHL3ZYS790&list=PLSiMhBs48YvXSmJyFMt3eYOG12Llcqyi-&index=23&t=0s
A Universal IoT Gateway? Setting up Mozilla IOT Gateway: https://www.youtube.com/watch?v=MZexWQJtni4&list=PLSiMhBs48YvXSmJyFMt3eYOG12Llcqyi-&index=24&t=0s
Mozilla IoT Framework - Kathy Giori (Mozilla): https://www.youtube.com/watch?v=mWCa6byiPco&list=PLSiMhBs48YvXSmJyFMt3eYOG12Llcqyi-&index=25&t=0s
mozilla-iot-gateway-sensors-20180406rzr: https://www.youtube.com/watch?v=4haKrPetGmg&list=PLSiMhBs48YvXSmJyFMt3eYOG12Llcqyi-&index=26&t=0s
mozilla things gateway - orange pi: https://www.youtube.com/watch?v=y4eTym_TVFo&list=PLSiMhBs48YvXSmJyFMt3eYOG12Llcqyi-&index=27&t=0s

On communities
Mozilla IoT GitHub Community: https://github.com/mozilla-iot/
Mozilla IoT - Mozilla IoT team: https://github.com/mozilla-iot/
Mozilla IoT - Discussion board: https://discourse.mozilla.org/c/iot
Mozilla IRC: https://wiki.mozilla.org/IRC
MozIoT - The Mozilla IoT Team (a small team inside the Emerging Technologies department at Mozilla, working on the Internet and Web of Things): https://wiki.mozilla.org/MozIoT

On related topics
Mozilla IoT - Supported hardware: https://github.com/mozilla-iot/wiki/wiki/Supported-Hardware
Raspberry Pi: https://www.raspberrypi.org/products/
Balena Etcher - Flash OS images to SD cards & USB drives, safely and easily: https://www.balena.io/etcher/
Other Mozilla projects: https://labs.mozilla.org/projects/

Next week's Wednesday Evening Training

Next week we will have an update on our exploration of storing, querying and visualizing software architecture models. We’ll share the prototypes and discuss the proceedings of our research on using graph/noSQL/RDF databases like Neo4j and Apache Jena and 3djs / 3D force graphs.

Looking forward to next week!

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

What happened to the posts of previous Wednesday Evening Trainings?
Well, to be honest I am a bit behind with my blog posts. I hope to catch up with my work in the coming period.

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

4/13/19

Week #14's Wednesday Evening Training: A good old Micro controller klusavond

In this week's Wednesday Evening Training, we had a good old "klusavond" (Dutch for "a pleasant and educational evening in which we worked on our own projects and shared knowledge") on Micro controllers.

We gave some demo's on the proceedings on our projects, discussed the usage of sensors and I gave a short intro on Fritzing. Fritzing is a nice and free CAD application that can be used to design breadboard circuits for Arduino and Raspberry Pi. It's easy to use and I often use it to create illustrations for manuals for Arduino and Raspberry Pi labs.



Next Wednesday Evening Training...

Next Wednesday Evening Training, we'll continue our experiments with Micro controllers with a special lab: "Whack a LED!" using the Arduino Micro controller. Make sure to follow my posts!

Further study

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

On Arduino:
Arduino Interrupts Tutorial (explanations, 2 demo's/labs): https://www.youtube.com/watch?v=QtyOiTw0oQc
My YouTube playlist on YouTube: https://www.youtube.com/playlist?list=PLSiMhBs48YvV86iiXFJY-BRxOsP2A2pnH
10 Awesome Beginner Arduino Projects: https://create.arduino.cc/projecthub/RoyTobby/10-awesome-beginner-arduino-projects-78a6a6
Arduino project - Adaptive LED Morse Code Decoder and Timer Interrupt: https://create.arduino.cc/projecthub/shjin/adaptive-led-morse-code-decoder-and-timer-interrupt-8d18a7
Arduino - Multitasking (e.g. interrupts): https://learn.adafruit.com/multi-tasking-the-arduino-part-2/overview
Arduino Interrupts: https://www.instructables.com/id/Arduino-Interrupts
Arduino Playgrounds - Interrupts: http://playground.arduino.cc/code/interrupts

On the Raspberry Pi:
Raspberry Pi: https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi (official site): https://www.raspberrypi.org
Comparison of single-board computers: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers

On Fritzing:
Fritzing official site: http://fritzing.org/home
A quick overview on Fritzing: https://www.slideshare.net/HansRontheWeb/fritzing-breadboard-editor

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

3/15/19

Week #11's Wednesday Evening Training: Control your Raspberry Pi using LUIS on Azure (part 2)

This session was the second part of two sessions where we got an introduction on the Azure Cognitive Speech Services, combined with LUIS, .NET Core and the Raspberry Pi. Read my first post on this topic for a quick introduction of the topics involved and a quick "how to" to get started yourself.


So how did we proceed this evening?

This evening, we continued with our lab. Some of us experimented using Android based mobile phones for speech input. Also, we did some experiments controlling other hardware than LED's.  There was lot's of discussion and brainstorming on other applications and alternative implementations like MQTT and NodeRED. Far more than we could handle in just one evening. Therefore, we'll continue our labs in the next Wednesday Evening Training on IoT (that will be a "klusavond" on april 3rd).

Thanks Ronnie Jongenelen, for sharing your knowledge with us! Great stuff!




Further reading

Do you want to read more on the topics in this post? Here are some resources...

On Azure:
Microsoft Azure - Cognitive Services: https://azure.microsoft.com/nl-nl/services/cognitive-services/
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
RaspberryIO - Pi's hardware access from .NET: https://github.com/unosquare/raspberryio/blob/master/README.md
Setting up Raspbian and .NET Core 2.0 on a Raspberry Pi: https://blogs.msdn.microsoft.com/david/2017/07/20/setting_up_raspian_and_dotnet_core_2_0_on_a_raspberry_pi/

On the Raspberry Pi:
Raspberry Pi: https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi (official site): https://www.raspberrypi.org
Comparison of single-board computers: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers
Raspbian Debian-based computer operating system for the Raspberry Pi: https://en.wikipedia.org/wiki/Raspbian

On LUIS:
LUIS: http://www.luis.ai
Tutorial: Recognize intents from speech using the Speech SDK for C#: https://docs.microsoft.com/nl-nl/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp
Learn Azure (learn at your own pace): https://docs.microsoft.com/en-us/learn/azure/

On Azure/LUIS/IoT combination:
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
Control your Raspberry Pi using LUIS on Azure (Part 1): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-1/#blog
Control your Raspberry Pi using LUIS on Azure (Part 2): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-2/#blog
Control your Raspberry Pi using LUIS on Azure (Part 3): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-3/#blog
Handson Lab - Combine LUIS and the Azure Speech Service to control a Raspberry Pi (sources with Ronnies' hands on lab): https://github.com/rwjjongenelen/CognitiveServices.Speech.IntentRecognition

Other stuff:
A nice and free tool for designing electronic circuits: http://fritzing.org

Next week's Wednesday Evening Training

Next week we will continue our Quantum computing sessions. We'll have a lot of topics to discuss, e.g. complexity theory, Cryptography, optimization and machine learning (quantum neural nets). Looking forward to this!

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

3/8/19

Week #10's Wednesday Evening Training: Control your Raspberry Pi using LUIS on Azure (part 1)

This session was the first part of two sessions where we got an introduction on the Azure Cognitive Speech Services, combined with LUIS, .NET Core and the Raspberry Pi.


Raspberry Pi

In many Wednesday Evening Trainings we experimented with the Raspberry Pi. This is a  is a series of small single-board computers developed by the Raspberry Pi Foundation to promote teaching of basic computer science in schools and in developing countries. The Raspberry Pi can be also be used in home automation, industrial automation and commercial products. Several generations of Raspberry Pis have been released. All models feature a Broadcom system on a chip (SoC) with an integrated ARM-compatible central processing unit (CPU) and on-chip graphics processing unit (GPU). The Raspberry Pi Foundation provides Raspbian, a Debian-based Linux distribution for download, as well as third-party Ubuntu, Windows 10 IoT Core, RISC OS, and specialised media centre distributions.[109] It promotes Python and Scratch as the main programming languages, with support for many other languages. .NET Core 2.0 applications will also run on a Raspberry Pi (see the resources below).

LUIS

LUIS (Language Understanding Intelligent Service) is a machine learning-based service to build natural language into apps, bots, and IoT devices. LUIS enables you to integrate natural language understanding into your applications without having to create machine learning models. Instead, you can focus on the application's logic.

A client application for LUIS is any application that communicates with a user in natural language to complete a task. The application sends utterances (text) to the LUIS natural language processing endpoint API and receives the results (interpretation) as a JSON response. In this JSON response, Intents describe how LUIS determines understands what a user wants to do. Entities recognized by LUIS will also be returned. The client application then uses the Intents to make decisions about how to fulfill the user's requests.

For this workshop, a (free) LUIS account was needed. This could be created on the LUIS portal at https://www.luis.ai. This portal also offers an excellent intro into Artificial Intelligence.



So what did we do this evening?

We built a prototype based on a sample app with which we could control two LED lights on a Raspberry Pi by spoken commands. The example prototype was built for a Raspberry Pi and contained a Console App for recording spoken text through a microphone, a LUIS app for voice recognition, and an ASP.NET API, directly installed on a Raspberry Pi that controlled the LED lights.

The sample prototype used in this session used the following hardware:

  • Raspberry Pi 3B
  • One 40-way T-Cobbler Breakout Board for Raspberry Pi
  • One 830 point Breadboard
  • One yellow led light
  • One blue led light
  • Two resistances of 500 ohm
  • Four male to male cables to connect the different parts

With the prototype we could turn on and off a yellow and a blue LED light by using the following voice commands: “turn on the yellow / blue light” and “turn off the yellow / blue light” “. The prototype therefore had to be able to understand whether I had to turn a LED on or off, but also which color that had to be turned on or off.

We therefore had to create a LUIS app with which we could analyze a spoken command and determine the intents of this command. A console application that received a voice command and forwarded it to our LUIS app had to be created as well. The LUIS app then sended back a response containing the received voice command and an overview of the intents.

To convert the results that we received from LUIS to GPIO commands on the Raspberry Pi, we had to build an ASP.NET Core Web API that had to be installed directly onto the Raspberry Pi. Therefore, .NET Core had to be installed on the Raspberry Pi. No problem, since .NET Core also runs perfectly on Linux.

Thanks Ronnie Jongenelen, for sharing your knowledge with us! Great stuff!



Next steps...

Next Wednesday Evening Training we will continue our lab. Also: we will be experimenting on using alternative solution components: MQTT and NodeRED. Since the Arduino (single-board computer) also has our attention in the Wednesday Evening Trainings, we'll also have a brainstorm on how to implement this solution on the Arduino.

Further reading

Do you want to read more on the topics in this post? Here are some resources...

On Azure:
Microsoft Azure - Cognitive Services: https://azure.microsoft.com/nl-nl/services/cognitive-services/
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
RaspberryIO - Pi's hardware access from .NET: https://github.com/unosquare/raspberryio/blob/master/README.md
Setting up Raspbian and .NET Core 2.0 on a Raspberry Pi: https://blogs.msdn.microsoft.com/david/2017/07/20/setting_up_raspian_and_dotnet_core_2_0_on_a_raspberry_pi/

On the Raspberry Pi:
Raspberry Pi: https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi (official site): https://www.raspberrypi.org
Comparison of single-board computers: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers
Raspbian Debian-based computer operating system for the Raspberry Pi: https://en.wikipedia.org/wiki/Raspbian

On LUIS:
LUIS: http://www.luis.ai
Tutorial: Recognize intents from speech using the Speech SDK for C#: https://docs.microsoft.com/nl-nl/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp
Learn Azure (learn at your own pace): https://docs.microsoft.com/en-us/learn/azure/

On Azure/LUIS/IoT combination:
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
Control your Raspberry Pi using LUIS on Azure (Part 1): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-1/#blog
Control your Raspberry Pi using LUIS on Azure (Part 2): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-2/#blog
Control your Raspberry Pi using LUIS on Azure (Part 3): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-3/#blog
Handson Lab - Combine LUIS and the Azure Speech Service to control a Raspberry Pi (sources with Ronnies' hands on lab): https://github.com/rwjjongenelen/CognitiveServices.Speech.IntentRecognition

Other stuff:
A nice and free tool for designing electronic circuits: http://fritzing.org

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

1/12/19

Week #2's Wednesday Evening Training: an IoT "Klusavond" on Domoticz, interrupts and a great brainstorm

This week, we had our first Wednesday Evening Training of 2019! We started with a good old IoT "klusavond" in which we discussed several topics:

  • Domoticz home automation
  • Implementing interrupts with the Arduino
  • Brainstorm on this years IoT topics in the Wednesday Evening Training


Domoticz home automation


Luc Slutter, on of our IoT experts, gave us an excellent introduction into home automation with Domoticz. Domoticz is a compact home automation system that allows you to operate a multitude of devices, sensors and smart devices. You can control Domoticz via various devices, such as your laptop, tablet and smartphone. The user environment is web-based, and can be installed on different devices.

Luc showed us the features, technology and gave us a demonstration and technology walkthrough of his own home built automation solution.

Great stuff! We will definitely continue with Domoticz (and similar platforms) this year.



Implementing interrupts with the Arduino


Reading values from sensors in your IoT device (like the Raspberry Pi of Arduino) can be done by, roughly speaking, constantly interrogating them or reacting on changed measured values. The first approach requires a program loop in which all sensors are queried. This is rather inefficient and, depending on the implementation, can also give untimely measurements. The program may not react fast enough to changes in measurements. An alternative to this approach is an interrupt implementation in which the hardware detects voltage changes in the hardware pins (to which the sensors are linked), stops processing the main program and runs a specially created interrupt routine. This is a more efficient and accurate approach which also yields neater code.












This evening I gave an introduction and demo of an interrupt implementation using the Arduino. The demo consisted of a button being pressed, generating a value change on one on the Arduino pins, causing an interrupt routine to be fired in my C program loaded in the Arduino. The interrupt routine then activates another pin which turns on a LED. My C program kept the status of the LED (on/off) and, dependent of this status, could switch the LED on and off. A very simple example, clearly demonstrating the interrupt approach.






Brainstorm on this years IoT topics in the Wednesday Evening Training


We also had an inspiring brainstorm on IoT topics we should address in 2019, led by our IoT champion (and Young professional of 2018!) Aishwarya Dhall. In 2019 there is still a lot to experiment and learn in the field of IoT. Here we are thinking of experimenting with various new sensors, home automation, integration of IoT devices and (cloud) platforms and experimenting with new applications.

We'll continue our IoT workshop on January 23th. Make sure you don't miss my posts on this!



Further reading

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

On Arduino:
Arduino Interrupts Tutorial (explanations, 2 demo's/labs): https://www.youtube.com/watch?v=QtyOiTw0oQc
My YouTube playlist on Arduino: https://www.youtube.com/playlist?list=PLSiMhBs48YvV86iiXFJY-BRxOsP2A2pnH
10 Awesome Beginner Arduino Projects: https://create.arduino.cc/projecthub/RoyTobby/10-awesome-beginner-arduino-projects-78a6a6
Arduino project - Adaptive LED Morse Code Decoder and Timer Interrupt: https://create.arduino.cc/projecthub/shjin/adaptive-led-morse-code-decoder-and-timer-interrupt-8d18a7
Arduino - Multitasking (e.g. interrupts): https://learn.adafruit.com/multi-tasking-the-arduino-part-2/overview
Arduino Playgrounds - Interrupts: http://playground.arduino.cc/code/interrupts

On Domoticz:
Domoticz official site: http://www.domoticz.com
My YouTube playlist on Domoticz: https://www.youtube.com/playlist?list=PLSiMhBs48YvWmAEqHS_w_l9Suj4lT05VX
(Dutch) Controle over je apparaten met Domoticz en Raspberry Pi: https://computertotaal.nl/artikelen/internet-thuis/controle-over-je-apparaten-met-domoticz-en-raspberry-pi

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


7/19/18

Last week's Wednesday Evening Training: continuing our Arduino & Raspberry Pi handson labs

Last week's Wednesday Evening Training (sorry for the delay of this post), we have continued our exploration of IoT using Arduino and Raspberry Pi.


One of our IoT champions, Aishwarya Dhall, shared her prototypes of multi sensor projects and idea's with us.


There will certainly be a sequel to this session, there remains a lot to discover! To be continued...



Past Wednesday Evening Trainings

You'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


Next week

In this week's Wednesday Evening Training, we'll continued our exploration of Virtual Reality using Unity3D and BabylonJS. See my next post (in a moment).


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #iot #arduino #raspberrypi

6/13/18

This week's Wednesday Evening Training: continuing our IoT handson labs (Raspberry Pi, Arduino and lot's of LEDs)

In this Wednesday Evening Training we continued our IoT labs on Arduino and Raspberry Pi. There was soldering (yes, the LED cube), even more LED's, a quick intro to Arduino (C) programming and my first steps in programming the Arduino Nano using the web and windows editor.

We programmed a long LED strip and experimented with various light color and sequence patterns.



Aish gave us a quick intro into the C programming language (actually, for some of the older colleagues like me, it was a recap of a language that we learned a long time ago :) ) and the basics in writing/reading the Arduino ports.

We also experimented with the Arduino's web editor which offers a nice online IDE (Integrated Development Environment), with example projects available as well.

In the Wednesday Evening Training of july 11th, we'll continue our labs. We'll have a demo/walkthrough on an IoT project using multiple sensor at the same time and we'll be taking a closer more comprehensive look at the Arduino's IDE. It may also be a good time to look for future handson labs... maybe a programmable robot arm?

Thanks Aish for sharing your knowledge!


Further reading

Do you want to read more on the topics? Here are some links...
Connect and Control WS2812 RGB LED Strips via Raspberry Pi: https://tutorials-raspberrypi.com/connect-control-raspberry-pi-ws2812-rgb-led-strips/
Getting Started with Arduino Web Editor on Various Platforms: https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-arduino-web-editor-on-various-platforms-4b3e4a
Step by step guide for Arduino Web editor part 1 (video): https://www.youtube.com/watch?v=Kvl8HkajXHg


Next week

In next week's Wednesday Evening Training, we'll be taking a close look at the Aurelia framework. Aurelia is a JavaScript client framework for web, mobile and desktop that leverages simple conventions to empower your creativity. It's a kind of Angular, React or Knockout. Some key point of Aurelia: modern architecture, two-way databinding, extensible HTML, routing & UI composition, broad language support, use ES5, ES 2015, ES 2016 and TypeScript, testable… etc.

 

Past Wednesday Evening Trainings

You'll find post of previous sessions in LinkedIn as well, see: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #iot #internetofthings #arduino #raspberrypi #ledcube

5/3/18

This week's Wednesday Evening Training: a "klusavond" with Arduino and an electronics 101

A quick refresher training in the field of electronics tonight; a real electronics 101 by Aishwarya Dhall and Harrie van der Plas.

Components, current vs voltage, measuring, a bit of arithmetic and building some electronics circuits ourselves tonight. Arduino is best used with a breadboard. This is a handy board on which you can build your electronics circuit quickly and easily. We also learned to calculate and measure voltage and currents in electronic circuits. Very handy when preventing your Arduino's ports from having a meltdown. It's only a couple of Volts, I know, but still...

Thanks Aish and Harrie!





Do you want to know more on electronics? Here are some pointers...

Arduino Uno Tutorial Basic circuit breadboarding
A simple guide to electronic components
Arduino Lesson 2: Multimeter & Collin's Lab: Multimeters





Next week's Wednesday Evening Training

In next week's Wednesday Evening Training, we'll start creating a programmable LED cube. Thats a bunch of LED lights, put together in a cube. Since each LED can be put on and off inividually, you can create awsome effects. We may even be doing a bit of soldering!

For an example of a LED cube, see: 8x8x8 LED cube with Arduino Uno on YouTube and below.

Post on previous Wednesday Evening Trainings on LinkedIn.



#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #iot #arduino #raspberrypi #electronics101

4/26/18

This week's Wednesday Evening Training: Domoticz, Blockly and the digital Rube Goldberg machine

This week's Wednesday Evening Training was organized as a "klusavond"; an evening in which everyone is working on his own projects and demo's, walkthroughs and explanations are on an ad hoc basis.

Luc Slutter demonstrated us his Domoticz project in which he connected wifi switches operated using Node-RED messaging and Witty Cloud. Domoticz is a Home Automation System that lets you monitor and configure various devices like lights, switches, various sensors/meters like temperature, rain, wind, uv, electra, gas, water and much more. Notifications/Alerts can be sent to any mobile device. Interesting stuff. When his project is finished he will organize a workshop on this topic.


Also, we've taken a look at Blockley. Blockly is a client-side JavaScript library for creating visual block programming languages and editors. Using Blockly, we'll be able to define, e.g. a language for describing User Stories and, based on that language definition, be able to "drag and click"-assemble a User Story. As a next step we would be able to generate some kind of prototype code based on this digitized User Story. I've shown some demo's and have given a code & tool walkthrough on how to create a language using Blockly and how to generate code from this. There is a neat handson lab available on the web, please see the links below.

In our continuing quest for the ultimate IoT killer application we came to the conclusion that we really shouldn't continue this quest but rather concentrate on playing with technology. Inspired by artists' slogan: "l'art pour 'l art" (Art for art's sake, see: https://en.wikipedia.org/wiki/Art_for_art%27s_sake) we should have our own slogan: "Technology for technology's sake". Experimenting, learning and having a lot of fun is a goal on it's own. So building some kind of a digital Rube Goldberg machine seems a nice practical common goal for us. For those who wonder what a Rube Goldberg machine is, it's a "deliberately complex contraption in which a series of devices that perform simple tasks are linked together to produce a domino effect in which activating one device triggers the next device in the sequence" (see: https://en.wikipedia.org/wiki/Rube_Goldberg_machine). Therefore, we decided to define a message format describing some sort of "digital train" that will be able to travel across our various IoT devices and applications.

Each device/application will determine it's own way in which the digital train look like. For example: on a laptop it could look like a normal train, but on the next device on the virtual track, it could look like a procession of elephants and in a Unity3d scenery it would be possible to present it as a row of rolling balls. The first two railway stations: a Java program (thanks Bart van Beek) and a Node-RED flow, have been created in this evenings' session. Trains started at Bart's station, drove to my Pi and drove back to the station, all in one piece and all the digital wagons in the correct order. We will see where all this is going to lead!

Next week's Wednesday Evening Training

In next week's Wednesday Evening Training, we'll get a nice electronics 101 session and we'll be starting a handson lab on creating a programmable LED cube (for a demo, see: https://www.youtube.com/watch?v=S6P3jcxKh-k). Thanks in advance, Aishwarya Dhall and Harrie van der Plas, for preparing this!

Further reading

Want to read more or try yourself? Here are some links...
Get started with Blockly: https://developers.google.com/blockly/
Blockly GitHub sources and some great examples & labs: https://github.com/google/blockly
Blockly demo: https://blockly-demo.appspot.com/static/demos/fixed/index.html
A neat Blockly codelab: https://codelabs.developers.google.com/codelabs/blockly-web/index.html
An intro to Rube Goldberg's machines: https://www.youtube.com/watch?v=__mId8huz1Q
Domoticz home automation: https://domoticz.com/
Domoticz source code: https://github.com/domoticz/domoticz
Using Domoticz with Raspberry Pi: https://www.domoticz.com/wiki/Raspberry_Pi

#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #iot #nodered #raspberrypi #blockly #domoticz #rubegoldbergmachine #nodered #wittycloud


3/21/18

This week's Wednesday Evening Training: a lot of Pi and some Witty Cloud with patterns

We continued our labs and projects this evening. We got some interesting demo's of running projects, e.g. a sensor network in which temperature and moisture data is exhanged between Pi's, a Witty Cloud Board, through various channels, including mail. This way, we're able to switch on/off devices remotely, guaranteed. Next step: come up with a practical application for this ;).
Also this evening: a lecture on basic design patterns. No tools, a whiteboard and a marker only.

Next week, we'll dive into Procedural Content Generation (used by graphical tools and game engines).

#werkenbijcapgemini #lifeatcapgemini #capgemini #wednesdayeveningtraining #raspberrypi #pi #iot #softwareengineering #patterns





2/28/18

Continuing with our Raspberry Pi experiments in today's Wednesday Evening Training

This evening, we continued our labs on MQTT and Node-RED by exchanging temperature and humidity measurements between our Raspberry Pi's. We used Gmail as a message bridge and Bart built a Java MQTT client that we will test in the next session.

To be continued...

Do you want to try yourself? 
Based on measuring with the  DHT11 or DHT22 sensor, a nice place to start reading is https://flows.nodered.org/node/node-red-contrib-dht-sensor. Install this node in your node-RED environment (you might need to download & install the driver), connect it to a timer and debug node and you're off.

#werkenbijcapgemini #lifeatcapgemini #capgemini #wednesdayeveningtraining #raspberrypi #mqtt #node-red #iot








Yessss! We've got our own fixed place on the CoZone board! :)

2/15/18

This week's Wednesday Evening Training: Building distributed applications using a Raspberry Pi, Node-RED & MQTT

This week's Wednesday Evening Training: Building distributed applications using a Raspberry Pi, Node-RED & MQTT

In this session, we continued our exploration of the Raspberry Pi and node-RED, extended with MQTT and Mosquitto.

Node-RED is a flow-based development tool for wiring together hardware devices, APIs and online services as part of the Internet of Things. Node-RED provides a browser-based flow editor, which can be used to create JavaScript functions. MQTT (MQ Telemetry Transport or Message Queuing Telemetry Transport) is an ISO standard (ISO/IEC PRF 20922) publish-subscribe-based messaging protocol. It works on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker, like Mosquitto.

Using Node-RED, MQTT and Mosquitto, distributed applications can be built based on multiple machines (e.g. Raspberry Pi’s) that exchange messages. This offers great opportunities!

Marcel Molenaar has showed us demo's and explained us how the technology worked. We've had plenty of opportunity to experiment with the technology, sending eachother's Pi's messages and turning on and off LED's, beepers and other apparatus. Thanks Marcel!

Wanne see the video? https://www.facebook.com/HansRontheWeb/videos/1611952195508122/

To be continued!

#werkenbijcapgemini #lifeatcapgemini #capgemini #wednesdayeveningtraining #raspberrypi #mqtt #mosquitto #nodered