Flicker: Rapid Prototyping for the Batteryless Internet-of- Things · 2018-03-12 · Flicker: Rapid...
Transcript of Flicker: Rapid Prototyping for the Batteryless Internet-of- Things · 2018-03-12 · Flicker: Rapid...
Flicker: Rapid Prototyping for the Batteryless Internet-of-Things
Josiah Hester Jacob Sorber @ Clemson
SenSys’17—November 7, 2017
[email protected] josiahhester.com
Bluetooth LE
Gyro
Accelerometer
Sola
r and
RFI
D Ha
rves
ters
(Bac
k)
2image: Wikimedia Commons, John Seb Barber
Infrastructure PipelinesBridges Roads
Batteryless Sensing Applications
3
Buildings Occupancy
Energy Monitor
Wearables Clothing Jewelry
Implants
Wildlife Tracking Small animal Endangered
Extreme Environments Deep Sea, High Altitude, Space
Intermittent Computing
4
As small as possible
• Minimal energy storage (Cap)
• Harvest energy (RF, Solar, Glucose)
Run when you can
• Frequent failures
• Erratic supply
WISP
What’s Next for Platforms?
5
?
Timekeeping
6
Capacitor or SRAM as Hourglass
• timekeeping across power failures
• fine grained and reliable
MCU
Volts
inittimekeeper
remanence decay computetime from
decay
Timekeeper
Volts
Timemcu power-on mcu power-off mcu power-on
Persistent Clocks for Batteryless Sensing Devices, Josiah Hester et al. ACM TECS, 2016
[ACM TECS]
Federated Energy
7
Multiple capacitors
• One for microcontroller
• One for each peripheral
• Static charge rate and priority
[Sensys’15]
Charge Controller
CoreEnergyHarvesting
Sensor Radio
+
-
Compute Sample SendReceive
Platform Challenges
8
Limited Hardware Options
• RFID Focused, like the WISP
• Or build from scratch
Limited Flexibility
• No prototyping, no changing tasks
Platforms Lack Modern Amenities
• No timekeeping or energy management
What’s Next?
Flicker
9
Rapid Prototyping for the Batteryless Internet-of-Things
Reconfigurable Hardware
• Common interconnect
Reconfigurable tasks
• Task priority and energy set at runtime
Multi source harvesting
• For multi-modal applications
Bluetooth LE
Gyro
Accelerometer
Sola
r and
RFI
D Ha
rves
ters
(Bac
k)
Flicker Modules
10
Common interconnect supports…
CommunicationHarvesting Motion Sense Enviro SenseComputation
Kinetic
RFID
Solar
433MHz Radio Transciever
Bluetooth LE
Magnetometer
Gyro
Accelerometer
Leaf Wetness
Humidity & Temp
Barometer
Peripherals
User Interface
Touch Slider
LCD Screen
Universal Peripheral Interface
11
EM-CTRLUARTSPIAnalogVCC/GND
EM-CTRLI2CSPIAnalogVCC/GND
EM-CTRLUARTSPIAnalogVCC/GND
P1
P2
P3
Energy Management
12
Every sensor / peripheral is unique
• unique tasks
• unique energy cost
• unique power draw
• unique voltage range
Handle with care…
Environmental Tasks
13
Supp
ly V
olta
ge (
V)
0
1
2
3
4
5
6
MCU
Hum
idity
Sens
or
Leaf
Wet
ness
Radi
o
Voltage requirements vary
Usable Range
Energy Costs
14
Environmental Monitoring
Ener
gy C
ost (
mJ)
0
25
50
75
100
Task
1s Computation 10x Leaf Readings
10x Humidity Readings
Send 2 Message
Optimistic Scheduling
15
Sens
or V
olta
ge
0
1
2
3
4
Time (s)0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
ResetAttemptSendPkt
Sensor
Task coupling increases failure
UFoP / FedEnergy
16
Multiple capacitors
• One for microcontroller
• One for each peripheral
• Static charge rate and priority
[Sensys’15]
Charge Controller
CoreEnergyHarvesting
Sensor Radio
+
-
Compute Sample SendReceive
Relax Voltage Constraints
17
Supp
ly V
olta
ge (
V)
0
1
2
3
4
5
6
MCU
Hum
idity
Sens
or
Leaf
Wet
ness
Radi
o
Federated Range
Centralized Range
Results
18
3x fewer power and peripheral failures
• Compared to centralized energy
6x more MCU availability
• Allowing for more programmer control
Side-effect: more energy harvested!
• 17% more
[Sensys’15]
Rapid Prototyping?
19
Small task changes obsolete hardware
• radio message size, sampling rates
Priority is hardware defined
• no priority inversion allowed
Peripherals are set in stone
• can’t swap sensors or peripherals
Flicker Tasks
20
Dynamic Federated Energy
• Extension to FedEnergy
Tasks set at compile time
• Task priority and energy level
Enables rapid testing and prototyping
• Or even runtime adaptation
(2) temp
(1) light
(3) send
(1) temp
(2) light
(3) send
Enable priority change.
Flicker Architecture
21
EnergyHarvesters
ComputeCore
Harvester Interface
MCU1st stage Capacitor
Solar Kinetic
Current FlowData/Control Signals
Failure-TolerantTiming
Harvester Interface
ChargingHysteresis
Peripheral
Cap
ChargeCtrl
Peripheral Interface
Int. Ctrl
Peripheral
Cap
ChargeCtrl
Peripheral Interface
Int. Ctrl
Radio Sensor
Flicker Peripherals
22
EnergyHarvesters
ComputeCore
Harvester Interface
MCU1st stage Capacitor
Solar Kinetic
Current FlowData/Control Signals
Failure-TolerantTiming
Harvester Interface
ChargingHysteresis
Peripheral
Cap
ChargeCtrl
Peripheral Interface
Int. Ctrl
Peripheral
Cap
ChargeCtrl
Peripheral Interface
Int. Ctrl
Radio Sensor
Charge control
• Set charging priority
Interrupt control
• Set wakeup
Peripheral control
• Isolate, enable, and control, peripheral
Also sets total energy storage limit.
Peripheral Controller
Task Energy Revisited
23
Ener
gy C
ost (
mJ)
0
25
50
75
100
Task
1s Computation 10x Leaf Readings
10x Humidity Readings
Send 2 Message
Environmental Monitoring
Task Energy Revisited
24
Ener
gy C
ost (
mJ)
0
25
50
75
100
Task
3s Computation 5x Leaf Readings
5x Humidity Readings
Send 1 Message
Environmental Monitoring
Tasks Energy Revisited
25
Supp
ly V
olta
ge (
V)
0
1
2
3
4
5
6
MCU
Hum
idity
Sens
or
Leaf
Wet
ness
Radi
o
Programmable energy.
10x Readings
2 Message
10x Readings
Tasks Energy Revisited
26
Supp
ly V
olta
ge (
V)
0
1
2
3
4
5
6
MCU
Hum
idity
Sens
or
Leaf
Wet
ness
Radi
o
First Priority
Tasks Energy Revisited
27
Supp
ly V
olta
ge (
V)
0
1
2
3
4
5
6
MCU
Hum
idity
Sens
or
Leaf
Wet
ness
Radi
o
Dynamic charging priority.
Reconfigurable Hardware
28
Solar powered pedometer?RFID compass?
Multi Source Harvesting
29
RFID
RFID
RFIDSolar
0
1
2
3
4
0 10 20 30Time (s)
Volta
ge (V
)
Multi Source Harvesting
Compute: MSP430Peripherals: Radio, Humidity, TempHarvesters: RFID, Solar
Flicker Workflow
30
Configuration Info
PrototypeAssembly
Step 1: Choose harvester(s) and peripherals.
Step 2: Desktop program discovers and validates peripherals and harvesters.
Step 4: Peripherals mapped to ports in code. Libraries linked.
Discovery
Calibration
HardwareInfo
Firmware Generation
Step 3: User sets interrupt points, and task priority.
IV Surfaces
Testing
Deployment
Hardware Generation
User Code
Step 5: Developer tests code in the lab and in the actual environment.
Step 6: Miniaturized, application specific hardware is automatically generated from prototype.
ExistingNovel
Iterative refinement now possible.
1. Energy Management Overhead
2. Timekeeper and RF Harvesting Perf.
3. System Usability User Study
Evaluation
31
Overhead
32
Parameter Value
Compute Board Quiescent Current 5.77 µA
Peripheral Quiescent Current 4.47 µA
Peripheral Voltage Range 1.7 to 5.5 V
Peripheral Current Range 0.0 to 40 mA
User Study
33
1. Does Flicker enable rapid hardware prototyping?
2. Are the mechanical functions intuitive?
3. Does Flicker support a broad application?
19 participants, 76 devices, 9.5 hand-on hours
User Study – Method
34
1. Entry survey on competency.
2. Handouts on Flicker, and sensing.
3. Asked to read prompt and prototype
multiple devices with Flicker.
4. Exit survey including System Usability
Survey (SUS)
User Study – Sample
35
1. 19 CE / CS juniors and seniors
2. 2 to 5 years computing education; 2 to 10
years of programming experience
3. All self-rated knowledge of embedded
platforms as slightly below average
User Study – Results
36
Interface Type SUSScore
Cell Phone 66.55
Graphical User Interface 75.24
Web Pages and Applications 68.05
Flicker Platform 84.9
1. 95% Flicker… create devices for many different applications.
2. 90% would use Flicker on a new IoT project if it was available
User Study – Results
3719 participants, 76 devices, 9.5 hand-on hours
%
0
25
50
75
100
Percentage AgreedShort Term Long Term Safety-Critical
Q. Flicker devices could be deployed in a … [short term, long term, safety critical] application.
Future Work
38
1. Runtime Adaptation
2. Testbed, Module Development
3. Community Building
Flicker
39
Rapid Prototyping for the Batteryless Internet-of-Things
Reconfigurable Hardware
• Common interconnect
Reconfigurable tasks
• Task priority and energy set at runtime
Multi source harvesting
• For multi-modal applications
Bluetooth LE
Gyro
Accelerometer
Sola
r and
RFI
D Ha
rves
ters
(Bac
k)
https://github.com/PERSISTLab/
Flicker: Rapid Prototyping for the Batteryless Internet-of-Things
Josiah Hester Jacob Sorber @ Clemson
SenSys’17—November 7, 2017
[email protected] josiahhester.com
Bluetooth LE
Gyro
Accelerometer
Sola
r and
RFI
D Ha
rves
ters
(Bac
k)