Presentation at the IEEE EDUCON 2019 conference in Dubai, about the development and implementation of a remote laboratory based in Raspberry Pi as access through Arduino and IoT systems
Implementation of an Arduino Remote Laboratory with Raspberry Pi
1. Implementation of an
Arduino Remote Laboratory
with Raspberry Pi
MANUEL CASTRO
MCASTRO@IEEC.UNED.ES
https://es.slideshare.net/mmmcastro
2. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
The importance of remote labs in the current environment
How to use this labs
Show lab architecture of Arduino base on Raspberry PI
Use case and example about Arduino in IoT
Why is necessary a remote lab?
Lab Architecture
Type of experiments
Arduino in IoT
3. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Be able to get an experimentation environment accessible from anywhere
• Create unattended labs and students can be auto-sufficient
• There are three goals:
Increase student autonomy
Better performance of the infrastructure deployment
Cut down operation exposure
• Deploy labs with wide functionality and low cost
Why is necessary a remote lab?
4. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Lab architecture - Diagram
WebCam
Wireless
Rainbow
Raspberry
Arduino Mega 2560
Crane
5. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Raspberry PI is a low cost simple board computer (SBC) which has been
developed in by Foundation Raspberry PI
• Be born with the objectives of learning computer science of schools.
• Main characteristics of Raspberry Pi 2 Model B
Processor: Quad-Core Cortex A7 to 900 MHz
RAM: 1 GB
Ports: 4 x USB 2.0. 1 x 40 GPIO pin. 1 X HDMI. 1 x Ethernet. 1 x Mix
audio/mic. 1 x Camera interface (CSI) 1 X Display interface (DSI) 1 x
Micro SD. 1 x Graphic core 3D
Lab architecture – Elements – Raspberry Pi
6. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• It was born in 2005 as a students project in the Institute INVRE in Invre
(Italy)
• The born reason was high cost, over 100 €, of BASIC Stamp board
• Once and for all platform was done (hardware and software),
researchers worked in getting more economical, lighter and available for
open source community (open hardware and source code)
• The first release had a cost less 30 € and worked in all platforms (Linux,
Windows and MacOSX)
Lab architecture – Elements – Arduino (1/3)
7. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Easy use of IDE.
• Programming language very similar to C. This fact helps that learning
curve for users who know this language is very high.
• There is a ecosystem belong producer, development and consumer all of
them generate great synergies
• Digital and analogical outputs and interruptions management which offer
a wide variety of connection possibility
• Be able to connect all type of sensors:
Movement
Light
Distance
etc.
Lab architecture – Elements – Arduino (2/3)
8. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Characteristics of Arduino Mega 2560:
Microcontroller ATmega2560
Input voltage – 7-12V
54 digital pines of Input/Out (14 of them are output PWM)
16 analog input
256 k flash memory
Lab architecture – Elements – Arduino (3/3)
9. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Rainbow Cube is a cube 3D with LEDs of three colors: red, green and
blue (RGB) in order to create colors design
• 3D cube is made up of 64 LED of 8 mm. The layout is tridimensional
4x4x4
• Cube is built for operate with 3.3 V/AAMP LDO very useful to operate
independent way
• Compatible with Xbee socket which can be connected with PC or
Arduino without wires
Lab architecture – Elements – Rainbow
Cube
10. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Be able to do remote compilations with Arduino code
• Load binary file to Arduino board or Rainbow Cube
• Watch experiment through to web cam
• Possible to connect Raspberry board some Arduinos and students can
choose in execution time the board which would like to compile and load
the binary file
Type to experiments to do
11. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
First step, the student must choose source file which he
would compile and he chooses the device where he
would load binary file
12. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Second step, the system transforms the source file with
InoToSource Java tool and copies in the work directory
with another Java utility, DirectoryDump
13. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
In this second step, compile, link and creation of
executable file are done
14. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
In the last step, the binary file is loaded in the device,
the system is blocked during three minutes in order to
the student can check the result of the experiment
15. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• Arduino MKR1000 are compounding with three main blocks:
SAMD21 Cortex-M0+ 32 bit low power ARM MCU
WINC1500 low power 2,4 GHz IEEE® 802.11 b/g/n Wi-Fi
ECC508 CryptoAuthentication
• Price 30,99 € (IVA included)
Arduino – IoT: Connecting Arduino to
Web (1/7)
16. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• For staring, it is necessary to install the WIFI101 library
• In the source code, you should do the next step:
Include the library
Arduino – IoT: Connecting Arduino to
Web (2/7)
17. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Declare variable for connection configuration
In the setup() function does the connection:
Arduino – IoT: Connecting Arduino to
Web (3/7)
WL_CONNECT_FAILED
WL_CONNECTED
18. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Examples
Arduino – IoT: Connecting Arduino to
Web (4/7)
19. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
So that Arduino can become an IoT element, it must be able to send
information to cloud. How does it do?
Define server
Time interval to send information to server
Arduino – IoT: Connecting Arduino to
Web (5/7)
20. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Reading sensors data in the loop function
Arduino – IoT: Connecting Arduino to
Web (6/7)
21. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Example of send information in a function
Arduino – IoT: Connecting Arduino to
Web (7/7)
22. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
• There are platforms such as Temboo o IFTTT which allow publishing
information of:
Twitter
Facebook
Google Drive
Send push notifications
Arduino – IoT: Interacting with web services
23. Implementation of an Arduino
Remote Laboratory with Raspberry Pi
Implementation of an
Arduino Remote Laboratory
with Raspberry Pi
MANUEL CASTRO
MCASTRO@IEEC.UNED.ES
https://es.slideshare.net/mmmcastro
QUESTIONS?