вход по аккаунту

код для вставкиСкачать
Intel [email protected]
SenZations is an annual European summer school on Internet of Things and related applications. Starting
in 2006 with an initial focus on wireless sensor networks, it has become one of the most important annual
educational summer events for young scientist and researchers in the field, attracting regularly between
40-50 International students.
The summer school program extends over five full days with a mixture of lectures, hand-on tutorials, team
based project work and social event. The project work allows the participants to put some of the learnings
in the tutorials and lectures into practice by prototyping an IoT application or service that addresses an
identified problem local to the environment. On the final day the teams have the opportunity to pitch
their solution and demonstrate their work in front of a panel.
This year’s school took place in Biograd, Croatia at the Adriatic Sea. 45 students attended from 14 different
countries. 20 lecturers from academia and industry provided exciting presentations most of them focused
on bleeding edge research in the IoT field. The school also featured a business and entrepreneurship track
which was attended roughly a third of the students.
The detailed program and presentations can be found here:
Intel folks (Alex Gluhak and Jason Wright from the ICRI cities ( featured at the event with
an extensive Galileo tutorial and brought the necessary HW along (25 Galileo devices were kindly
contributed by Raluca Oltean, Corporate Affairs World Wide).
We also mentored the project work sessions with hands-on advice and organised the final panel where
the student projects where presented and winners selected.
One participant maintained a personal blog about the summer school. For an interesting day by day
account from a participant perspective, you can find more information here:
Day 1:
Day 2:
Day 3:
Day 4:
Day 5:
Final impressions:
The Galileo tutorial
The summer school kicked off with a 5 hour tutorial on Intel Galileo at prime time on the opening day,
with the goal of bringing the participants to a level that allows them to become productive with the
platform. The tutorial covered all essential basics such as Galileo HW/SW, connectivity, Arduino based
sensing and actuating and serial I/O. It also had an advanced part that showed how to use python and
nodejs support, MQTT for advanced network communication and the integration into IoT platforms such
as Xively and social media tools such as Twitter.
The slides where inspired and partially borrowed from the IoT Galileo Curriculum V1.0 by T. Cooper, M.
Royer, D. J. Oliver, A. Burns and E. Nyquist.
Part1: Galileo Basics
Overview of Galileo HW and the Arduino eco-system
Overview of the Galileo SW stack
First steps on programming a Galileo, IDE setup and blink
Part 2: Connectivity Basics
Available connectivity HW on the Galileo
Connecting to your Galileo via Ethernet cable
Setting up Wifi
Enabling SFTP and upload files via an SFTP client
Setting up Bluetooth
Part 3: Arduino based I/Os, sensing and actuation
I/O Basics
o Available I/O options on the Galileo
o Serial I/O using Arduino
Sensing and actuating with the Grover Starter Kit
o Digital I/O
o Analog I/O
Part 4: Web Integration
Xively integration
Social network integration using Paraimpu
Part 5: Networking and node.js
Basics of node.js
How to deploy a node.js server on Galileo
Interacting with Galileo through the browser
Reading and displaying sensor data
Part 6: Using Python on the Galileo
Getting started with Python on Galileo
o Running Python interpreter and scripts
o Importing and using modules
I/O basics in Python
o Serial I/O
o Analog and digital I/O
Network communication using MQTT
All lectures were video recorded and should be available on youtube in the coming weeks.
HW requirements for tutorial
Intel Galileo Gen1/2
Grove Starter Kit v3 (by SeeedStudio) to provide basic set of analogue and digital sensors as well
as actuators to play with exposed by an Arduino shield
Wifi/BT module (N135)
4GByte SD card for a Yocto build with Wifi drivers
Ethernet cables for logging onto the Galileo from the laptop via ssh/telnet
SW requirements for tutorial
We utilised an image provided by AlexT, as it offered a bit more features such as a package
manager (
o The features were mainly useful to install gcc and python setup-tools, this may be now
available in the official distribution so you could easily use it for your tutorial
The tutorial requires and ssh/sftp client on the laptops. While most MAC and Linux installations
come out of box with one, you may need to provide additional clients for Windows (e.g.
Some lessons learned
We distributed the Galileo Arduino IDE on three memory sticks just before the tutorial start and
it took the crowd only 15 mins to copy all files needed, which seems a good way in getting the
development infrastructure set up, in the lack of a very high bandwidth internet connection.
Various people did not get the Arduino IDE to work out of the box on their Windows machines.
The main issue seems to be a non-English locale setting on their laptops (expect this with
international students!!!), preventing the IDE to start. It took quite some time to figure this one
out at the expense of time available for the tutorial.
The whole tutorial took longer time than initially expected. We had 3 hours as initial plan but then
ended up to use 5 hours, which we kindly got from the organisers.
Expect participants to arrive with all kinds of OS on their laptops (different versions of Windows,
Linux and MAC)– provide adequate IDEs/tools for these on the memory stick and be prepared to
have some trouble shooting experience on all these systems.
Make all tutorial slides available at the beginning of the event so the participants can use it as a
reference during the tutorial. This is sth that we initially overlooked - we spend quite some time
flipping between slides on the projector.
Expect participants to have different levels of expertise and experience. Try to leverage
experienced participants to help with the less experienced ones (or team up) so you can
effectively move forward with the tutorial material.
An excellent network connectivity is key for the tutorial. Each participant will use at least two
network connections, one for its Galileo and the other for its laptop ( I am not counting in personal
mobiles). This can quickly overload any Wifi access point that you may use. Make sure you have
multiple alternative access points available or even better a set of Ethernet ports for all Galileos
in the tutorial. One issue we discovered with our Wifi router was that failed to provide DHCP
leases to participants. This was due to default setting in the router, limiting the maximum number
of client devices to 30. Again this took us some time to figure out - increase this limit to avoid any
If you run this tutorial in a hotel or typical conference site, you are often required to first register
your wireless Internet device with a browser based authentication step. This cannot be easily
done with a Galileo that does not run a UI. Make sure you have an access point for the Wifi that
is under your control and where you can run with WPA like encryption instead. A workaround is
to use some script that performs the authentication on your behalf. A student wrote a nice
python script that he shared later with other participants.
We pre-provisioned an SD card image that included all basic configs (e.g. wifi config, ssh server
setup) and some coding examples for nodejs and python. This saved considerable time during
tutorial that would be otherwise wasted.
Various people may come with their own Arduino IDE installed and will try to program the Galileo
with it. Make sure you explicitly tell them to use Intel’s IDE.
Пожаловаться на содержимое документа