The Intel Edison power draw was measured while using the Mini Breakout Board.
Yocto 3.0 has PulseAudio, BlueMan, XDG, etc. running in the background.
This brings the idle current up 5 times as much as Yocto 2.1.
To help preserve battery, perhaps disable unneeded services.
Yocto 3.5:
Activity
Power (mW)
voltage
current (mA)
booting up (peak)
820
5.09
160
100-150% 1 CPU + Wifi
967
5.09
190
50-100% 1 CPU + Wifi (curl https)
820
5.09
160
5% 1 CPU + heavy disk write
561
5.10
110
idle
410
5.12
80
powered off (LED only adapter board)
< 51
5.12
< 0.01
Yocto 3.0
Activity
Power (mW)
voltage
current (mA)
booting up (peak)
944
4.97
190
using Wifi (opkg update)
803
5.02
160
idle
455
5.05
90
powered off (LED only adapter board)
< 51
5.12
< 0.01
Yocto 2.1
Activity
Power (mW)
voltage
current (mA)
booting up (peak)
984
8.2
120
using Wifi (opkg update)
680
8.5
80
typing text (using serial port)
346
8.65
40
idle
88
8.8
10
powered off (LED is on adapter board)
45
8.9
5
Benchmarks http://www.davidhunt.ie/raspberry-pi-beaglebone-black-intel-edison-benchmarked/
of Raspberry Pi vs. Beaglebone Black vs. Intel Edison.
The Intel Edison specifications show the idle power with Wifi as 35 mW, while we measure 88 mW.
Lkely sources for “high” power reading are the two bright green LEDs on the USB adapter board, and the switching power conversion from 9 V to 1.8 V.
Citadel is an easy to install groupware server.
Accessing features took a few seconds per click, and it didn’t seem that users would have the patience for Citadel on Raspberry Pi Zero.
The Raspberry Pi Zero W does quite adequately in this regard – you will feel just a bit of the CPU limitation when using many sessions or high Ethernet bandwidth.
The Raspberry Pi FM transmitter works splendidly – the program can be modified to transmit narrowband (~ 5kHz) FM on the 2 meter ham band, and for a wide variety of software defined radio tasks.
On the Intel Edison Arduino board, the J18 Arduino connector block TX/RX pins have the UART connected to /dev/ttyMFD1 in the default Yocto install.
Edison adapter board
GPIO voltage
Arduino
5 V
Mini-Breakout
1.8 V
The Mini-Breakout board Intel Edison has 1.8 V GPIO and can be damaged from connecting directly to 3.3 V or 5 V TTL logic.
You need a level shifter board to do the interface to non-1.8V logic from the Mini-Breakout board.
To receive a stream from Intel Edison UART from a serial device that constantly streams output like a GPS NMEA stream.
At the Edison shell prompt:
stty -F /dev/ttyMFD1 9600cat /dev/ttyMFD1
where 9600 is serial port device baudrate
Text streams to console from UART serial device on Edison.
To two-way TX/RX from Intel Edison UART install:
opkg install screen
Connect interactively to UART device from the Edison shell
screen /dev/ttyMFD1 9600
where 9600 is serial port device baudrate
MRAA + PySerial make using the Intel Edison serial port easy from Python.
Example: router with LAN IP address range 192.168.1.xxx.
The address discovery is faster if you know which port is open on your targeted device (host).
However, you can also discover the device if open port is unknown.
Unknown open port scan:
nmap -sn 192.168.1.* --open
will tell you some of the IP addresses that are active on that subnet.
Options:
-sn
check if pingable (ping scan, not port scan)
--open
only tell which hosts appear to be up
Many devices will hide themselves from this scan, but it’s the first thing I try for finding a new device that attached to the network, such as an IoT device that isn’t trying to hide itself.
Port known, IP address scan: port scanning is much faster when the open port is known.
Note in some rare cases, there is a firewall schedule or port knocking as additional security that could cause a port scan to fail.
Raspberry Pi port scan: assume known 192.168.1.xxx and that factory image has an SSH server on port 22.
Find the new Raspberry Pi IP address with
nmap -Pn -p 22 192.168.1.* --open
-Pn
nmap assumes each host is up
--open
only hosts with specified port open
non-nmap: scan IP address range with known open port: the pure Python program
findssh.py,
scans for servers with open ports in less than a second concurrently via
Python asyncio.
LaTeX documents may fail to build if filename case differs from LaTeX code.
It’s best to always use lowercase for filenames when sharing with case-insensitive systems.
This example is for the UTF8 package.
This stanza works for case-insensitive:
\usepackage[UTF8]{inputenc}% don't use capitals!
but on case-sensitive systems:
UTF8.def not found from inputenc.sty
Fix by always using lowercase LaTeX package names.
These are general notes, there are often caveats with GPIO/SPI applications on any embedded device.
Raspberry Pi
SPI pinout
shows two SPI ports spi0spi1 for most non-Compute Module Raspberry Pi models.
Raspberry Pi
Compute Modules
have three SPI ports, with the addition of spi2 that’s only available on the Compute Modules.
Python is a popular way to access the Raspberry Pi SPI.
spidev
is a popular Python module to use SPI.
For example, the Raspberry Pi SPI maximum clock speed is set to 1 MHz by
You might be familiar with asynchronous protocols such as used in RS232 connections, where the baud rate must be agreed upon in advance by communicating peripherals.
Only the SPI controller initiates communications, and the controller must know how many bytes to receive for a given command so as not to cut off the communications too early.
Be sure polarity and phase are compatible between devices.
SPI consists of four wires: clock, select, MISO and MOSI.
The clock line is unidirectional from the controller to peripheral.
The peripheral cannot initiate communications.
Faster clocks require shorter wires, as remember a 10 MHz square wave needs several harmonics to keep usable shape–perhaps up to 100 MHz.
How good of a transmission line is your knotted hookup wire at 100 MHz?
not so good perhaps.
Consider clock speed if a peripheral is not responding, or responding erratically, especially considering that the Raspberry Pi 2/3 SPI clock varies with the VPU speed.
The Raspberry Pi can select more than two peripherals by using a binary decoder chip, assuming you have a recent kernel and the appropriate software and configuration.
MISO is unidirectional from each peripheral to controller.
The MISO line is shared between all peripherals.
Only one peripheral, selected by Chip Select line may use MISO at once.
MOSI is unidirectional from controller to all peripherals.
The MOSI line is shared between all peripherals.
Only the peripheral selected by Chip Select should respond to MOSI on MISO.
The extremely high number of applicants, more than 1,800, coupled with the difficulty in satisfying the extensive vetting requirements to control the public distribution of the software made it unlikely they would achieve the challenge’s original objectives in a timely manner.
NASA looked at several alternatives to keep the challenge design intact – things like significantly extending the challenge performance period, and offering a much smaller portion of the code. Neither were considered viable options.
For a one-of-a-kind competition, 1800 participants is a large number, considering the need to verify US citizenship and that the work was done on a personal PC.
As a comparison, the notable
ACM ICPC
competition has several thousand participants each year in teams of three.
I was surprised to see 1800 entries.
It may be that a substantial proportion of HPFCC entrants were new to Fortran but experienced with HPC.
It would be interesting to get demographic info on the HPFCC entrants as a snapshot of the future of the Fortran language.