
In the
previous parts of the "workshop" we considered Intel Galileo, which the manufacturer is positioned as a board "for study." But there is also a device that can be used not only for familiarization and prototyping, but also for embedding in final products.
This is
Intel Edison . The module is very powerful (CPU - dual-core Intel Atom 500 MHz, MCU - Intel Quark 100 MHz), 4 GB of flash memory, 1 GB of RAM, compact (slightly larger than an SD card), can be powered by batteries or rechargeable batteries, equipped with wireless interfaces ( Wi-Fi and Bluetooth 4.0) and more.
But let's not get ahead.
Unboxing and first acquaintance
The kit that I studied comes here in such a pretty and compact package:
')
In addition to the "main module" of Intel Edison, the kit includes:
- expansion card (in this set - "Arduino-compatible", there are even more compact boards for prototyping);
- four plastic racks with fixing screws;
- two nuts for attaching the Intel Edison expansion board.
Intel Edison immediately impresses ... with its size - after all, this small device (size 35.4x25.0x3.9 mm) contains a rather serious “
stuffing ”:
- Dual-core processor (Intel Atom, with a clock frequency of 500 MHz);
- microcontroller (Intel Quark, clock frequency - 100 MHz);
- RAM - 1GB LPDDR3;
- flash - 4GB (eMMC);
- Wi-Fi module - Broadcom 43340 802.11 a / b / g / n (dual-band 2.4 and 5 GHz), built-in antenna (in my case, it is an option with an external antenna),
- Bluetooth 4.0 module
Almost all components are hidden under the metal screen. On the front side of the board, there is a ceramic antenna for wireless modules (bottom left) and a connector (u.FL) for connecting an external antenna (just above).
You must admit that not a few systems can boast of such a “set”. And all this in a tiny performance.
On the bottom side of the board is another “shielded box” with components and a connector, through which Edison communicates with the “outside world”:
The following interfaces are output through this connector:
- SD card - 1 piece
- UART - 2 ports
- I2C - 2 tires
- SPI - 1 bus with a choice of 2 chips (2 CS)
- I2S - 1 bus
- I / O ports (GPIO) - 12 pieces (4 of them are with PWM capability)
- USB 2.0 - 1 port (OTG)
- Hourly output - 32kHz and 19.2 MHz
And
this connector also impresses with its size - 70 contacts in such a small area.
The use of just such a connector seems to be a compromise between the desire to bring out as many interfaces as possible and the desire to make it as compact as possible.
The board, which went into production, does not look as impressive as Intel Edison was originally presented:
But still, Edison is a very outstanding product.
At home, I'm afraid the prototype of your device based on Intel Edison will be very problematic. But for the prototyping, the supplied motherboard is perfect:
In addition to Edison, the board clearly shows “pins” for connecting arduino-compatible shields (labeled “ANALOG IN”, “DIGITAL”, “POWER”), a slot for a microSD card, a connector for connecting the power supply and three USB connectors ( one is type A and two is microUSB).
I'll tell you right away why there are so many usb connectors, because the Intel Edison itself has only one OTG port. It's all about the
magic bubbles of the position of the SW1 microswitch (located between the "full-sized" and microUSB connectors). If the switch lever is closer to the “full-sized” USB-connector, then it works (the “host” mode: you can connect, for example, an external USB-drive or keyboard), if the switch is in a different position, the microUSB port works (the board can connect to a computer, for example, to update the firmware). The last microUSB port (in the lower right corner) is used to organize the terminal.
Also on the board are 5 buttons:
- FW and RM - for recovery in case of damage to the "image"
- PWR - power management
- SHLD RST - reloading arduino-sketch, working in Intel Edison (does not affect the state of Edison)
- RESET - reset.
This document describes in more detail about the functions and possibilities of using buttons.
To control the various modes of operation of Intel Edison and the connection of additional modules, the board also has the following pins, connectors and jumpers:
- IOREF - to select the voltage level with which the board will work: 5V or 3.3V;
- AREF - selection of the reference voltage for the operation of the ADC (also depends on the position of the IOREF jumper);
- NTC - pins for connecting a thermistor (10kOhm) to control the temperature of the battery when charging. When these pins are closed, the temperature control function is blocked;
- ICSP - performs the same function as the same-name connector on the Arduino UNO board;
- BATT - pins for connecting a Li-Ion or Li-Po battery for developing "wearable" electronics (do not confuse the polarity!);
- PWM - jumpers for configuring the operation of PWM outputs.
You can read more
here .
I found a 3.7V 1000 mAh Li-Po battery on my farmAnd I, of course, connected it to the appropriate connector - the board immediately “started up”. There is a “charger” for such batteries on the board. Accordingly, it is possible to use such batteries, for example, as a backup power source.
More details on the use of batteries can be in
this document .
By the way, Intel Edison was designed including. for use in "wearable" electronics, so with the consumption here everything is very good. The specification includes these characteristics (in standby mode):
- all radio modules are off - 13mW;
- Bluetooth 4.0 enabled - 21.5mW;
- Wi-Fi on - 35mW;
Naturally, in the active mode, everything will not be so good, but here it depends on what you will implement and how to optimize the consumption of the system.
There is nothing interesting on the bottom side of the board, except for a large number of contact pads (apparently, so that you can connect "directly" to the ports of Edison):
For prototyping more compact devices, it's better to use such a board.
After we have thoroughly reviewed the Edison and expansion card, proceed to configure.
Intel Edison Firmware
Let's prepare our "device". To do this, you need to carefully place the Intel Edison on the expansion board (convenient guides practically do not give a chance for error) so that the connector connects - you need to lightly press Edison until it clicks (you need to press gently and effortlessly in the connector area). Now it is possible to fix the boards between each other with small gadgets supplied.
For initial setup, you need to connect 2 USB cables (to microUSB connectors), switch SW1 must be in position to microUSB. We connect both cables to the computer (I use mac again). If everything is done correctly, the EDISON disc will appear in the system.
First, it is recommended to delete the existing image, for which we simply delete everything from the appeared disk, including hidden folders, using any available tool (I used the terminal).
Look at the properties of the disc EDISON. If there is anything other than FAT16, everything is in order; if FAT16, we treat it
like this .
Running a little aheadAfter the firmware will be approximately the following picture:
root@edison:~
Downloading the latest version of
Yocto . Unpack the archive and rewrite all the resulting files and folders on the EDISON disk. After the files are rewritten, you need to flash Edison. To do this, open a new terminal window (or use what was in the previous steps).
Enter the command:
screen /dev/cu.usbserial
And press the Tab key (for auto-complete), then append “115200 -L”, I did it:
screen /dev/cu.usbserial-AJ035QHB 115200 -L
Confirm the input (Enter) - we see the "clean screen", again Enter and we get the welcome window:
Enter the root username. Enter the password (if your system has already been configured and this is an "update"). After this, it is easiest to start the firmware using the command:
reboot ota
Attention, this removes all the settings that were made earlier (for example, Wi-Fi, etc.). If this is done for the first time, you will not lose anything. The update process looks like this:
If all is well, the process will end with a login prompt:
All settings are reset - root login (without password).
Primary setup
To configure Intel Edison, run the following command:
configure_edison --setup
This command launches the installation wizard, during which it is proposed to set:
- Admin record password
- Device name
After these steps, the wizard will offer to set up a connection to the Wi-Fi network. The network scanning process takes 10 seconds, after which the following is displayed on the terminal screen:
Next you need to select the number of the desired network (or enter the hidden SSID) and enter the password to connect to the network. If everything is done correctly, the received IP address will be displayed in the terminal.
Is done. Now you can safely disconnect the Edison from the computer and connect the power supply (7-15V). The device automatically starts and connects to the selected wireless network.
Now Intel Edison can be managed via SSH (IP address, login / password - everything is already determined in the previous steps).
You can repeat the settings that we have already made in
one of the previous parts of the Practicum .
Additionally, you can connect a memory card (microSD) and use it at your discretion.
Left - Intel Galileo Gen2, right - Intel Edison
We blink a LED with Arduino IDE
From the moment of writing the previous parts of the “practical work”, the Arduino IDE version has slightly grown up to
1.6.0 . In general, nothing fundamentally different from what was in the Intel Galileo Gen2 example — you only need to select the correct board (Edison) and port (for a Mac, this is the port with the name like /dev/cu.usbmodemxxxx).
If everything is done correctly, then on the board (after loading the Blink example) the DS2 LED will blink. Now you can explore other Intel Edison features. In order to make it quick and easy to implement, you can purchase the
Grove Starter Kit Plus Intel IoT Edition kit , which contains the most popular elements: various sensors, a display, etc.
The convenience of this set is that you can create various prototype devices very quickly and simply by simply connecting the necessary set of devices in the project to the “basic shield”.
I already used a similar set earlierTo create a
weather station . It is possible that you already have such a “whale” (or similar in meaning) already available (the likelihood of this is very high if you have already started / mastered the Arduino). And in general, all those “shields” that are used with Arduino (with some reservations) can be used with Intel Edison and the “big” board.
And even more facilitates the process of studying the presence of all the necessary
examples .
Actually, as declared - the transition from Intel Galileo to Intel Edison is very simple: everything that was done for Galileo is simply transferred to the “older” device.
What's next?
You can choose any development method you like. You can choose from:
By the way, since the publication of the previous parts of the "practical"
Intel IoT Developer Kit has also been updated (the current version is v1.0). When developing it, we took into account numerous comments and suggestions (including those that were touched upon in our “workshop”) - it became easier to create projects in Eclipse, even more examples, more documentation (moreover, some already in Russian) .
findings
Intel Galileo and Intel Edison are promising devices that allow you not only to “plunge” into the world of device development on microcontrollers, but also to use the serious capabilities of Linux-based computers (and in the case of Edison, it is also quite powerful SoC equipment).
The interaction of these rich (in themselves) components - significantly expands the possibilities of use: for example, on a linux component you can raise a web server with a database to organize a convenient web interface for managing any devices, and the “iron” (arduino) component - implements this control.
More devices are good and different.
» The first part of the" workshop ":
Galileo Gen2 - First acquaintance
» The second part of the" workshop ":
Galileo Gen2 - Linux & Arduino
» The third part of the" workshop ":
Practical" Intel IoT ". Galileo Gen2 - Eclipse & libmraa + UPM
Well, quite the latest news:
Intel Edison officially in Russia: pre-order and project competition
Thanks for attention!