SlideShare a Scribd company logo
1 of 44
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
U.S. ARMY COMBAT CAPABILITIES
DEVELOPMENT COMMAND –
ARMY RESEARCH LABORATORY
Dr. Kevin Claytor
Research Physicist
CCDC-ARL / SEDD / Electric- and Magnetic-Field Sensing Team
DD MMM YYYY
Development and Applications of Distributed IoT Sensors for Intermittent Connectivity
Environments
Approved for public
release; distribution is
unlimited.
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
2
• Mission:
– Discover, innovate, and transition science and technology to ensure dominant strategic land power.
• Research focus:
– Concept idea to early prototype (6.1 – 6.3)
– Fundamental new technology
– Demonstrations
– Transitions to the warfighter
• About me:
– Physics
– Geophysics, optics, NMR/MRI,
electric- and magnetic-field sensing
• Why I’m here:
– Started with Influx ~1yr ago
– Enables rapid prototyping
– Easy demos
– Enables collaboration
CCDC – ARMY RESEARCH LABORATORY
THE NATION'S PREMIER LABORATORY FOR LAND FORCES.
Credit: Shaohan Hu
https://maps.google.com/
Credit: ARL
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
3
• Problem: Army IoT Environment
– Internet of Battlefield Things
– Contested, congested, dynamic network
– Need actionable data
• Our team: Low Frequency Electric- and Magnetic-Field Sensing
• Our technology: Noncontact Power Monitoring
– Safety Advantages
– Cost Advantages
– Driver for efficiency and resiliency
• Application areas
– Mobile Power Meter
– Environmental data
– Sensor array
– Wide area surveys
ARMY SPECIFIC CHALLENGES – A DYNAMIC NETWORK
• Influx – Edge & Cloud
– Data stack at edge and in cloud
ensures customer has data
– Replication Scheme ensures
latest points are replicated
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
4
COMMON SENSOR PROCESSING IN MULTIPLE FORM
FACTORS
• Ruggedized for field
experiments
• BNC inputs (voltage / current
probes)
• LEMO inputs (TEDS
compliant smart sensors)
• Integrated battery
• Designed for microgrid power
cables
• Integrated noncontact field
sensors
• Can be installed safely by
untrained operator
• Integrated battery
• Designed for substation
installation
• Supports up to 128 inputs
Common features
• 8-16 ksps raw data
• FPGA / Linux hardware
• Common processing software
• IMU / Orientation
• GPS / WiFi / Ethernet
Mobile Unattended
Ground Sensor (MUGS)
Mobile Power Meter
(MPM)
Rack Mount Chassis
(Rack)
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
5
MANY HARDWARE / SOFTWARE OPTIONS TO FIT CUSTOMER
5*4*3*5*4 > 1000 combinations!
5
Hardware:
Processing:
Network:
Analysis:
Mix and match sensors, processing, and analysis to suit your needs
None Wifi BluetoothEthernet Cellular 3G/4G
dLAMP
(attached PC)
C / Python
(embedded)
Transmit to
Cloud
Storage:
Local Database
(on sensor)
Nearby Database
(attached PC)
Cloud Database
(govCloud)
dLAMP
(embedded)
dLAMP
(cloud server)
dLAMP
(embedded)
Export
(binary / text)
dLAMP
(attached PC)
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
6
IOT DEVICE MANAGEMENT – VIPERS
(VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS)
Webserver
Sensing
Visualization
Embedded
• ARM
• FGPA
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
7
IOT DEVICE MANAGEMENT – VIPERS
(VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS)
Webserver
NetManager
(networking)
Dataserver
(process manager)
Plot server
ControlSignals
Sensing
Visualization
Embedded
• ARM
• FGPA
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
8
IOT DEVICE MANAGEMENT – VIPERS
(VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS)
Webserver
NetManager
(networking)
Dataserver
(process manager)
Plot server
ControlSignals
Processing Module
Sensing
Visualization
Processing Module
Processing Module
Embedded
• ARM
• FGPA
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
9
IOT DEVICE MANAGEMENT – VIPERS
(VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS)
Webserver
NetManager
(networking)
Dataserver
(process manager)
Plot server
ControlSignals
Processing Module
Sensing
Visualization
Processing Module
Processing Module
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
10
• Raw data:
– 8,000 – 16,000 samples per second
– (x8) 8-16 channels of data
= 64,000 – 256,000 values / s
• IEEE “synchrophasor” Std. C37.118:
– Converts one or more cycles of sine-wave data into a
“phasor measurement”
– Reduces high data rate to more manageable size
– Loses high frequency transients
SINUSOIDAL POWER DATA IS PROCESSED INTO “PHASORS”
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
11
• Raw data:
– 8,000 – 16,000 samples per second
– (x8) 8-16 channels of data
= 64,000 – 256,000 values / s
• IEEE “synchrophasor” Std. C37.118:
– Converts one or more cycles of sine-wave data into a
“phasor measurement”
– Reduces high data rate to more manageable size
– Loses high frequency transients
• Phasor data
– (10 Hz) Estimators produce data from 10 – 60 Hz
– (x8) 8-16 channels of data
– (x5) Estimates for fundamental (60 Hz), two
harmonics, frequency, and total harmonic distortion
– (x2) Values are complex
= 800 – 9,600 values / s
– Want to store at the edge
PHASOR PROCESSING REDUCES SAMPLE RATE, BUT A HIGH
INGEST RATE IS STILL REQUIRED
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
12
• Well defined API’s
– Others can write software to our module
APIs
• Distribute as components
– Leave out unnecessary components
• Smaller updates
– Update only the modules needed
• Performance versions
– Rewrite single component for performance
instead of entire stack
• Can swap components based on
license
– Exchange databases
PYTHON MODULES
synchro.py
dbus inl simulator
relative.py
influx.py extras.py
replication.py
dLAMP L11 Phasors
dLAMP L11 Phasors
HTTP API
Applies:
[[channels]] and [[circuits]]
Standardizes disparate
data sources
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
13
• Influx is a NoSql storage
• Influx does not require a schema
– Good: Easy to get going, can rapidly shift
and experiment with schemas
– Bad: Schema may be different than
expected
– Compromise: We define the schema in
docs
• Influx does enforce type consistency
– Good: Ensure that numeric data stays
numeric
– Bad: Initial commit of an int (eg; 0) can
prevent later floats from being committed
(eg; 1.023)
– Compromise: Explicitly cast values before
writing them (eg; float(0))
DATABASE SCHEMA CONSIDERATIONS
• Local Schema
– Used on the MUGS
• Cloud Schema
– Used on influx.arlpower.net
– Databases for function / assets
– Allows for transition of assets in locations
– Allows access control by asset
• Database schemas are *identical*
– Cloud queries can be used in MUGS
– MUGS queries can be used in the Cloud
• Downsampling for long duration data
– Run CQ to downsample lower rate for a
longer period
• Backups / Restore
– We can backup to RAID
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
14
• replication.py
– Clones local data to the cloud
– Logs if data replication is successful
– Retries failed replications
• Algorithm
– Query for previously replicated regions
– Query for last N points avoiding these
regions
– Attempt to replicate
– If successful, mark a new replication region
REPLICATION – GET LATEST POINTS WHILE AVOIDING
PREVIOUSLY REPLICATED REGIONS
data
time
Capture last N points
Mark region replicated
data
time
Capture last N points
(avoiding region)
Mark region replicated
Pass 1:
Pass 2:
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
15
• replication.py
– Clones local data to the cloud
– Logs if data replication is successful
– Retries failed replications
• Algorithm
– Query for previously replicated regions
– Query for last N points avoiding these
regions
– Attempt to replicate
– If successful, mark a new replication region
– Merge overlapping replication regions
(set field value = 0)
REPLICATION – GET LATEST POINTS WHILE AVOIDING
PREVIOUSLY REPLICATED REGIONS
data
time
Depreciate overlapped regions
Capture latest N points
(avoiding region)
Mark region replicated
Pass 3:
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
16
Time
• Every CPU cycle is valuable
• Performance testing on MUGS v2 (1st generation)
– Many modules are written with adjustable inputs (eg; data rate limiting)
– CPU consumption is total CPU consumption (eg; total system usage, influx, telegraf, etc.)
– Highlights key bottlenecks
– Performance tradeoffs
PERFORMANCE – EASY TO QUANTIFY WITH TELEGRAF
core100.py
synchro.py
influx.py (all points)
influx.py (nominal)
influx.py (low data rate)
relative.py
replication.py extras.pyinflux.py (all, med, low)
x2 circuits
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
17
• Every CPU cycle is valuable
• Performance testing on MUGS v2 (1st generation)
– Insert by series saves ~30% CPU
– Possibly related to lower overhead in python client
PERFORMANCE – QUANTIFYING ALLOWS IMPROVEMENTS
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
18
• GZIP compression on data
– Repeated tag values
OPEN SOURCE CONTRIBUTION – GZIP FEATURE
if self._gzip:
# Allow us to receive gzip'd data
# as well as write it out
headers.update({
'Accept-Encoding': 'gzip',
'Content-Encoding': 'gzip',
})
if data is not None:
# For Py 2.7 compatability use Gzipfile
compressed = io.BytesIO()
with gzip.GzipFile(
compresslevel=9,
fileobj=compressed,
mode='w'
) as f:
f.write(data)
data = compressed.getvalue()
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
19
DON’T TOUCH THAT WIRE! – MOBILE POWER METER
• Problem:
– Power is a resource
– Assured power needs measurement
– Measurement devices($100 - $10k)
– Electrician ($100s / hr)
– Power interruption ($X / hr)
• Solution:
– $0 power interruption
– $0 untrained solider installation
– $3-5k / device
• Impact:
– Informed energy consumption
– Saves energy, safes fuel, saves lives
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
20
• Calibration dependent on location around cable
• Adding inertial measurement unit (IMU) data to DB
– Identify if sensor has moved and needs re-calibration
– Measurements of field as a function of angle around cable
– Previously had to estimated cable angle assuming
“constant rotation rate”
MOBILE POWER METER – ADDING ORIENTATION DATA
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
21
ENVIRONMENTAL SENSING TO PROMOTE CONSERVATION
AND EFFICIENT BUILDINGS
• Goal: Improve building efficiency using
machine learning
– Relationship between power usage and
environment can indicate poor efficiency
– Inform building renovations – identify buildings that
yield highest ROI from renovations
• Proof of concept with a small box and space
heater
– Encouraging results and scaling up
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
22
• Student code:
– Weather sensors
– AC Control
• Joint code:
– InfluxDB-python connector
– Writes to our sensor DB
• Replication:
– Check the new field to replicate
SUPPLEMENTAL MEASUREMENTS ARE EASY TO REPLICATE
• Temperature
• Humidity
• Light
• AC Control
replication.py
+weather_station
https://opensource.com
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
23
ENVIRONMENTAL SENSING TO PROMOTE CONSERVATION
AND EFFICIENT BUILDINGS
• Goal: Improve building efficiency using
machine learning
– Relationship between power usage and
environment can indicate poor efficiency
– Inform building renovations – identify buildings that
yield highest ROI from renovations
• Proof of concept with a small box and space
heater
– Encouraging results and scaling up
• Sensors and control through a Raspberry Pi
– Pushes data to ARL sensor over local network
– ARL sensor replicates data into cloud
– Student summer project
– Interfaced with existing database and replication
• New shed instrumented and collecting data
• Using Chronograf to share data
Credit: Drummond, Zachary
Credit: Drummond, Zachary
MUGS / Jetpack
Raspberry Pi
AC Unit
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
24
MAGNETIC FIELD SENSOR ARRAY – 3 AXES SENSORS
• 4D Sensor “pixel”
– 3-Axis H-field sensor
– 1-Axis E-field sensor
– 2x pixels per processing board
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
25
FULL 6X8 ARRAY WITH BORDER ELEMENTS
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
26
• Hardware
– Supports up to 128 channels
– Array uses 4x6 x4d sensors
= 96 channels of data
• Software
– Array visualization tool
• Impact
– Test fundamental resolution
limits
IMAGING ARRAY: A LOCAL AREA “CLOUD”
Array visualization
Single Board
Computer
(i7 with CentOS)
Backplane
Signal
Conditioning
Board
ARTEMISMOBILE
Raw
SD
Phasor
Processing
InfluxDB
x6
ARTMEIS RACK
x24
Signal
Conditioning
Board
ARTEMISMOBILE
Raw
SD
Phasor
Processing
Signal
Conditioning
Board
ARTEMISMOBILE
Raw
SD
Phasor
Processing
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
27
• Array Designer + Streamer
– Allows design of NxM arrays
– Can be sparse arrays!
(Saves data efficiently)
• Live Visualization
– Select between harmonics, magnitude or
phase
– Dynamically connects
(handles disconnects, etc.)
– Dynamically adjust scaling
• Can even be run on the edge devices
• Dirty secret: Doesn’t use Influx
– Easier to reshape data packet than
manipulate query results
– May need more accurate solution for higher
frequency, phase sensitive measurements
STREAMING ARRAY VISUALIZATION
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
28
• Hardware
– 3-Axis E-field sensor
– 3-Axis H-field sensor
– 6-Axis Inertial
measurement unit (IMU)
– Integrated GPS
• Software
– Measure 60-Hz signals
– Use IMU to align to world-coordinates
– GPS to place on map
• Impact
– Background measurements facilitate sensor
placement for high-precision measurements
– Disaster recovery – Puerto Rico / Bahamas
Identify infrastructure most in need of repair
WIDE AREA ELECTRIC & MAGNETIC FIELD SURVEYS
Vector fields are
aligned to world
coordinate frame
MUGS
E-Cube
H-Cube
x
yz
Latitude
Longitude
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
29
• What’s a good configuration?
– Is there a way to automate configuration and “tune”
to the host system?
• Some hacks I’ve noticed
– Disable _internal logging
– Switch from inmem to tsi1?
(Memory constrained platforms)
• Hard power cycle
– Restart through power switch / dead battery /
pulling power
– Corrupts lots of files
– Recovers a few files and then fails
ANECDOTAL ISSUES
OR HOW I NOW WORRY ABOUT DELETING THE DATABASE
• Query data by series
– Fully specified series query much faster
(helper scripts scrape data and dump into csv)
• Still difficult to get pandas arrays out
• How to map data into an image like structure?
https://github.com/influxdata/influxdb/issues/10939
https://github.com/influxdata/influxdb/issues/12902
https://github.com/influxdata/influxdb/issues/14676
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
30
• Accelerate technology development,
demonstrations, and transitions
• Fundamental new technology
– Easy to insert new measurements
– Chronograf in cloud is nice collaboration tool
– Telegraf helps identify resource bottlenecks
and optimize code
– Helps to quantify things
• Demonstrations
– Short turn-around time for new demo
– Chronograf -> Visualization
• Transitions to the warfighter
– Actionable information: Kapacitor Alerts
• Downsides
– Hidden “gotchas”
– File corruption
TEAM, SUMMARY, AND QUESTIONS
data
time
Replication:
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
31
Additional Slides
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
32
• Working on obtaining electric- and magnetic-field map of ARL test field.
FIELD MAP OF ENVIRONMENT FACILITATES PRECISION / LOW
NOISE SENSOR STUDIES / ENVIRONMENTAL STUDIES
TODO:
Field Map
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
33
Problem:
• Typical Helmholtz coil has given field with
zero derivatives only in the center of the
coil and in free space.
• Presence of steel walls in laboratory
impact performance.
Solution:
• Numerically model lab and surroundings.
• Optimize the currents and spacing of the
cage coils to maximize uniform region.
H-FIELD CAGE OPTIMIZED TO PRODUCE LARGE UNIFORM
REGION
Credit: Hellwig, Ansgar
https://en.wikipedia.org/
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
34
• TODO: Possible slide here from IoBT folks.
ARL INTERNET OF BATTLEFIELD THINGS (IOBT) CRA
TODO: POSSIBLE IOBT SLIDE
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
35
WHAT IS VIPERS
Webserver
Dataserver
Network
Manager
Plot server
ControlSignals
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
36
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
37
• replication.py
– Clones local data to the cloud
– Logs if data replication is successful
– Retries failed replications
• “API” allows additional replication
– Another process modifies historical data…
– Just mark the next sow point as “not-
replicated” or insert a new sow point
– Replication script gathers that data on the
next pass and replicates
REPLICATION.PY
• Influx Replication Flags
– Measurement = “replication”
– No tags!
– Field: “response”
• Code 1 = success
• Code 0 = not yet tried
• Code <0 = error
• Algorithm
– Sow Thread: “Sows” replication points with code
0 every <sow_interval> s.
– Reap Thread: Every <reap_interval> searches
for up to <reap_points> of replication
measurements with response <= 0
– Queries selected measurements within non-
replicated region(s)
– Attempts replication and stores results
Reap: Gathers data
between non-replication
points
Sow inserts new points
First pass (N = 4)
Second pass (N = 4)
success
failed
untried
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
38
REPLICATION.PY
Sow inserts new points
First pass (N = 4)
Second pass (N = 4)
Reap: Gathers data
between non-replication
points
success
failed
untried
Maximum extent: sow_interval
Will not replicate to -Inf
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
39
• The database schema defines how
data is inserted into the database.
– Impacts insert performance
– Impacts query performance
– Impacts ease-of-use
• How difficult is it to make a query
• What are the implications if a query is mal-
formed (eg; missing a GROUP BY())
DATABASE SCHEMA - CONSIDERATIONS
• Encouraged
– Encode metadata in tags
• Store common-queries in tags
• Store GROUP BY () data in tags
• Store function() data in fields
• Store non-string data in fields
– Avoid using keywords as identifier names
• Discouraged
– Don’t have too many series
• Cardinality = unique(fields) * unique(tags)
• Highly variable tags increase cardinality
• Higher cardinality = lower performance
– Don’t encode data in measurement names
• Simplifies queries
– Don’t put more than one piece of
information in a tag
• Otherwise you’ll have to use regexp to
separate
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
40
DATABASE SCHEMA – REJECTED
• Measurement: phasors
• Fields: channel
• Tags:
– type [current, voltage, power, frequency, thd]
– center_frequency [string, 60, 180, …]
– component [“real”, “imag”]
• Issues:
– Have to scan first for channel names
– Each query now becomes 2+ operations
• “SHOW FIELD KEYS”
• For each field, get me all the data for that channel
• Ex: what query selects only voltage measurements?
– OR: over-query and down-select
• “SELECT * FROM “db.rp.phasors”
• Overcommits CPU
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
41
DATABASE SCHEMA – REJECTED
• Measurement: level [synchro, relative, power]
• Fields: type [current, voltage, efield, hfield, power, frequency, thd]
• Tags:
– channel [string]
– type [current, voltage, power, frequency, thd]
– center_frequency [string, 60, 180, …]
– component [“real”, “imag”]
• Issues:
– Each measurement may have different available fields
• Measurement = synchro supports type = [current, voltage, frequency, thd]
• Measurement = power supports type = [voltage, power, frequency, thd]
– Measurement may be missing
– > Similar queries must be re-written based on measurement type
even though the operation is similar (“yield all voltage
measurements”)
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
42
• Measurement: phasors
• Fields: type [current, voltage, efield, hfield, power, frequency, thd]
• Tags:
– channel [string]
– center_frequency [string, 60, 180, …]
– component [“real”, “imag”]
– circuit [string]
– level [string]
DATABASE SCHEMA - REJECTED
• Issues:
– Circuit and Level are very rarely used in queries
• Mostly used in post-processing graphics (and sometimes not at all)
– Complicates queries (specify two additional parameters)
– Allows for inadvertent power summation
• Eg; not specify GROUP BY “level” would sum synchro, relative, and power
measurements.
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
43
• Measurement: phasors
• Fields: type [current, voltage, efield, hfield, power, frequency, thd]
• Tags:
– channel [string]
– center_frequency [string, 60, 180, …]
– component [“abs”, “angle”, “real”, “imag”]
DATABASE SCHEMA - REJECTED
• Issues:
– What we’re measuring still isn’t top-level
– The interesting value (absolute value power) is buried in tags.
– Allows for inadvertent power summation
• Eg; not specify GROUP BY * would sum abs, angle, real and imaginary
measurements.
APPROVED FOR PUBLIC RELEASE
APPROVED FOR PUBLIC RELEASE
44
• Measurement: type [current, voltage, efield, hfield, power, frequency, thd]
• Fields: component [“abs”, “angle”, “real”, “imag”]
• Tags:
– channel [string]
– center_frequency [string, 60, 180, …]
– circuit [string]
DATABASE SCHEMA - CURRENT
What does this do:
SELECT “abs” FROM “db.rp.phasors.current” WHERE “center_frequency”=“60” GROUP BY *
• Integration with dLAMP data structure
– Channel name has to store additional information (introducing 2 reserved characters):
• . (dot) Used to separate major identifiers
• : (colon) used to separate channel from reference
• <type>.<center_frequency>.<circuit (optional)>.<channel>:<reference (optional)>
• “current.60.main.I_A:V_A”
• “power.60.main.I_A:V_A” (this is the previous multiplied by |V_A|)
• “frequency.60.V_A” [see notes]
• “thd.60.I_A” [see notes]

More Related Content

What's hot

Inside the InfluxDB storage engine
Inside the InfluxDB storage engineInside the InfluxDB storage engine
Inside the InfluxDB storage engineInfluxData
 
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...InfluxData
 
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)Apache Apex
 
How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemInfluxData
 
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapKostas Tzoumas
 
Real-time Stream Processing with Apache Flink @ Hadoop Summit
Real-time Stream Processing with Apache Flink @ Hadoop SummitReal-time Stream Processing with Apache Flink @ Hadoop Summit
Real-time Stream Processing with Apache Flink @ Hadoop SummitGyula Fóra
 
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the CloudsGreg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the CloudsFlink Forward
 
Streaming SQL (at FlinkForward, Berlin, 2016/09/12)
Streaming SQL (at FlinkForward, Berlin, 2016/09/12)Streaming SQL (at FlinkForward, Berlin, 2016/09/12)
Streaming SQL (at FlinkForward, Berlin, 2016/09/12)Julian Hyde
 
How to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeterHow to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeterInfluxData
 
Databricks clusters in autopilot mode
Databricks clusters in autopilot modeDatabricks clusters in autopilot mode
Databricks clusters in autopilot modePrakash Chockalingam
 
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache FlinkAlbert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache FlinkFlink Forward
 
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...InfluxData
 
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Gyula Fóra
 
BKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to ClusterBKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to ClusterLinaro
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaIntro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaInfluxData
 
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. SimmonsInfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. SimmonsInfluxData
 

What's hot (20)

Streaming SQL
Streaming SQLStreaming SQL
Streaming SQL
 
Resource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache StormResource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache Storm
 
Inside the InfluxDB storage engine
Inside the InfluxDB storage engineInside the InfluxDB storage engine
Inside the InfluxDB storage engine
 
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
 
The Future of Apache Storm
The Future of Apache StormThe Future of Apache Storm
The Future of Apache Storm
 
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
GE IOT Predix Time Series & Data Ingestion Service using Apache Apex (Hadoop)
 
How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin Ecosystem
 
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
 
Real-time Stream Processing with Apache Flink @ Hadoop Summit
Real-time Stream Processing with Apache Flink @ Hadoop SummitReal-time Stream Processing with Apache Flink @ Hadoop Summit
Real-time Stream Processing with Apache Flink @ Hadoop Summit
 
The Stream Processor as a Database Apache Flink
The Stream Processor as a Database Apache FlinkThe Stream Processor as a Database Apache Flink
The Stream Processor as a Database Apache Flink
 
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the CloudsGreg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
 
Streaming SQL (at FlinkForward, Berlin, 2016/09/12)
Streaming SQL (at FlinkForward, Berlin, 2016/09/12)Streaming SQL (at FlinkForward, Berlin, 2016/09/12)
Streaming SQL (at FlinkForward, Berlin, 2016/09/12)
 
How to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeterHow to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeter
 
Databricks clusters in autopilot mode
Databricks clusters in autopilot modeDatabricks clusters in autopilot mode
Databricks clusters in autopilot mode
 
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache FlinkAlbert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
Albert Bifet – Apache Samoa: Mining Big Data Streams with Apache Flink
 
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
How Sensor Data Can Help Manufacturers Gain Insight to Reduce Waste, Energy C...
 
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
 
BKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to ClusterBKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to Cluster
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia GuptaIntro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
 
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. SimmonsInfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
 

Similar to Development and Applications of Distributed IoT Sensors for Intermittent Connectivity Environments | Kevin Claytor | US Army Laboratories

OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...NETWAYS
 
byteLAKE's expertise across NVIDIA architectures and configurations
byteLAKE's expertise across NVIDIA architectures and configurationsbyteLAKE's expertise across NVIDIA architectures and configurations
byteLAKE's expertise across NVIDIA architectures and configurationsbyteLAKE
 
Barcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de RiquezaBarcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de RiquezaFacultad de Informática UCM
 
Future services on Janet
Future services on JanetFuture services on Janet
Future services on JanetJisc
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsHPCC Systems
 
Update on Trinity System Procurement and Plans
Update on Trinity System Procurement and PlansUpdate on Trinity System Procurement and Plans
Update on Trinity System Procurement and Plansinside-BigData.com
 
Software Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaSoftware Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaCPqD
 
Software Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaSoftware Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaCPqD
 
A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...
A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...
A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...Tal Lavian Ph.D.
 
Streaming exa-scale data over 100Gbps networks
Streaming exa-scale data over 100Gbps networksStreaming exa-scale data over 100Gbps networks
Streaming exa-scale data over 100Gbps networksbalmanme
 
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...balmanme
 
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding EnginesEnabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding EnginesTal Lavian Ph.D.
 
Maxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialMaxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialmadhuinturi
 
2017 Atlanta Regional User Seminar Introduction
2017 Atlanta Regional User Seminar Introduction2017 Atlanta Regional User Seminar Introduction
2017 Atlanta Regional User Seminar IntroductionOPAL-RT TECHNOLOGIES
 
Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...balmanme
 
MapR M7: Providing an enterprise quality Apache HBase API
MapR M7: Providing an enterprise quality Apache HBase APIMapR M7: Providing an enterprise quality Apache HBase API
MapR M7: Providing an enterprise quality Apache HBase APImcsrivas
 
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...BigDataEverywhere
 

Similar to Development and Applications of Distributed IoT Sensors for Intermittent Connectivity Environments | Kevin Claytor | US Army Laboratories (20)

OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
 
byteLAKE's expertise across NVIDIA architectures and configurations
byteLAKE's expertise across NVIDIA architectures and configurationsbyteLAKE's expertise across NVIDIA architectures and configurations
byteLAKE's expertise across NVIDIA architectures and configurations
 
Barcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de RiquezaBarcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de Riqueza
 
Future services on Janet
Future services on JanetFuture services on Janet
Future services on Janet
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
Update on Trinity System Procurement and Plans
Update on Trinity System Procurement and PlansUpdate on Trinity System Procurement and Plans
Update on Trinity System Procurement and Plans
 
Software Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaSoftware Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur Channegowda
 
Software Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaSoftware Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur Channegowda
 
A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...
A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...
A Platform for Data Intensive Services Enabled by Next Generation Dynamic Opt...
 
Streaming exa-scale data over 100Gbps networks
Streaming exa-scale data over 100Gbps networksStreaming exa-scale data over 100Gbps networks
Streaming exa-scale data over 100Gbps networks
 
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
 
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding EnginesEnabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
 
Maxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialMaxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorial
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
2017 Atlanta Regional User Seminar Introduction
2017 Atlanta Regional User Seminar Introduction2017 Atlanta Regional User Seminar Introduction
2017 Atlanta Regional User Seminar Introduction
 
Stc 3 u_chassis_datasheet
Stc 3 u_chassis_datasheetStc 3 u_chassis_datasheet
Stc 3 u_chassis_datasheet
 
matdid473708.pdf
matdid473708.pdfmatdid473708.pdf
matdid473708.pdf
 
Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...Network-aware Data Management for High Throughput Flows   Akamai, Cambridge, ...
Network-aware Data Management for High Throughput Flows Akamai, Cambridge, ...
 
MapR M7: Providing an enterprise quality Apache HBase API
MapR M7: Providing an enterprise quality Apache HBase APIMapR M7: Providing an enterprise quality Apache HBase API
MapR M7: Providing an enterprise quality Apache HBase API
 
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
 

More from InfluxData

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB ClusteredInfluxData
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemInfluxData
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...InfluxData
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBInfluxData
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base InfluxData
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackInfluxData
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustInfluxData
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedInfluxData
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB InfluxData
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...InfluxData
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineInfluxData
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena InfluxData
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineInfluxData
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBInfluxData
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...InfluxData
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022InfluxData
 

More from InfluxData (20)

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Development and Applications of Distributed IoT Sensors for Intermittent Connectivity Environments | Kevin Claytor | US Army Laboratories

  • 1. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE U.S. ARMY COMBAT CAPABILITIES DEVELOPMENT COMMAND – ARMY RESEARCH LABORATORY Dr. Kevin Claytor Research Physicist CCDC-ARL / SEDD / Electric- and Magnetic-Field Sensing Team DD MMM YYYY Development and Applications of Distributed IoT Sensors for Intermittent Connectivity Environments Approved for public release; distribution is unlimited.
  • 2. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 2 • Mission: – Discover, innovate, and transition science and technology to ensure dominant strategic land power. • Research focus: – Concept idea to early prototype (6.1 – 6.3) – Fundamental new technology – Demonstrations – Transitions to the warfighter • About me: – Physics – Geophysics, optics, NMR/MRI, electric- and magnetic-field sensing • Why I’m here: – Started with Influx ~1yr ago – Enables rapid prototyping – Easy demos – Enables collaboration CCDC – ARMY RESEARCH LABORATORY THE NATION'S PREMIER LABORATORY FOR LAND FORCES. Credit: Shaohan Hu https://maps.google.com/ Credit: ARL
  • 3. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 3 • Problem: Army IoT Environment – Internet of Battlefield Things – Contested, congested, dynamic network – Need actionable data • Our team: Low Frequency Electric- and Magnetic-Field Sensing • Our technology: Noncontact Power Monitoring – Safety Advantages – Cost Advantages – Driver for efficiency and resiliency • Application areas – Mobile Power Meter – Environmental data – Sensor array – Wide area surveys ARMY SPECIFIC CHALLENGES – A DYNAMIC NETWORK • Influx – Edge & Cloud – Data stack at edge and in cloud ensures customer has data – Replication Scheme ensures latest points are replicated
  • 4. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 4 COMMON SENSOR PROCESSING IN MULTIPLE FORM FACTORS • Ruggedized for field experiments • BNC inputs (voltage / current probes) • LEMO inputs (TEDS compliant smart sensors) • Integrated battery • Designed for microgrid power cables • Integrated noncontact field sensors • Can be installed safely by untrained operator • Integrated battery • Designed for substation installation • Supports up to 128 inputs Common features • 8-16 ksps raw data • FPGA / Linux hardware • Common processing software • IMU / Orientation • GPS / WiFi / Ethernet Mobile Unattended Ground Sensor (MUGS) Mobile Power Meter (MPM) Rack Mount Chassis (Rack)
  • 5. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 5 MANY HARDWARE / SOFTWARE OPTIONS TO FIT CUSTOMER 5*4*3*5*4 > 1000 combinations! 5 Hardware: Processing: Network: Analysis: Mix and match sensors, processing, and analysis to suit your needs None Wifi BluetoothEthernet Cellular 3G/4G dLAMP (attached PC) C / Python (embedded) Transmit to Cloud Storage: Local Database (on sensor) Nearby Database (attached PC) Cloud Database (govCloud) dLAMP (embedded) dLAMP (cloud server) dLAMP (embedded) Export (binary / text) dLAMP (attached PC)
  • 6. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 6 IOT DEVICE MANAGEMENT – VIPERS (VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS) Webserver Sensing Visualization Embedded • ARM • FGPA
  • 7. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 7 IOT DEVICE MANAGEMENT – VIPERS (VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS) Webserver NetManager (networking) Dataserver (process manager) Plot server ControlSignals Sensing Visualization Embedded • ARM • FGPA
  • 8. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 8 IOT DEVICE MANAGEMENT – VIPERS (VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS) Webserver NetManager (networking) Dataserver (process manager) Plot server ControlSignals Processing Module Sensing Visualization Processing Module Processing Module Embedded • ARM • FGPA
  • 9. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 9 IOT DEVICE MANAGEMENT – VIPERS (VISUALIZATION AND PROCESSING FOR EMBEDDED RESEARCH SYSTEMS) Webserver NetManager (networking) Dataserver (process manager) Plot server ControlSignals Processing Module Sensing Visualization Processing Module Processing Module
  • 10. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 10 • Raw data: – 8,000 – 16,000 samples per second – (x8) 8-16 channels of data = 64,000 – 256,000 values / s • IEEE “synchrophasor” Std. C37.118: – Converts one or more cycles of sine-wave data into a “phasor measurement” – Reduces high data rate to more manageable size – Loses high frequency transients SINUSOIDAL POWER DATA IS PROCESSED INTO “PHASORS”
  • 11. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 11 • Raw data: – 8,000 – 16,000 samples per second – (x8) 8-16 channels of data = 64,000 – 256,000 values / s • IEEE “synchrophasor” Std. C37.118: – Converts one or more cycles of sine-wave data into a “phasor measurement” – Reduces high data rate to more manageable size – Loses high frequency transients • Phasor data – (10 Hz) Estimators produce data from 10 – 60 Hz – (x8) 8-16 channels of data – (x5) Estimates for fundamental (60 Hz), two harmonics, frequency, and total harmonic distortion – (x2) Values are complex = 800 – 9,600 values / s – Want to store at the edge PHASOR PROCESSING REDUCES SAMPLE RATE, BUT A HIGH INGEST RATE IS STILL REQUIRED
  • 12. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 12 • Well defined API’s – Others can write software to our module APIs • Distribute as components – Leave out unnecessary components • Smaller updates – Update only the modules needed • Performance versions – Rewrite single component for performance instead of entire stack • Can swap components based on license – Exchange databases PYTHON MODULES synchro.py dbus inl simulator relative.py influx.py extras.py replication.py dLAMP L11 Phasors dLAMP L11 Phasors HTTP API Applies: [[channels]] and [[circuits]] Standardizes disparate data sources
  • 13. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 13 • Influx is a NoSql storage • Influx does not require a schema – Good: Easy to get going, can rapidly shift and experiment with schemas – Bad: Schema may be different than expected – Compromise: We define the schema in docs • Influx does enforce type consistency – Good: Ensure that numeric data stays numeric – Bad: Initial commit of an int (eg; 0) can prevent later floats from being committed (eg; 1.023) – Compromise: Explicitly cast values before writing them (eg; float(0)) DATABASE SCHEMA CONSIDERATIONS • Local Schema – Used on the MUGS • Cloud Schema – Used on influx.arlpower.net – Databases for function / assets – Allows for transition of assets in locations – Allows access control by asset • Database schemas are *identical* – Cloud queries can be used in MUGS – MUGS queries can be used in the Cloud • Downsampling for long duration data – Run CQ to downsample lower rate for a longer period • Backups / Restore – We can backup to RAID
  • 14. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 14 • replication.py – Clones local data to the cloud – Logs if data replication is successful – Retries failed replications • Algorithm – Query for previously replicated regions – Query for last N points avoiding these regions – Attempt to replicate – If successful, mark a new replication region REPLICATION – GET LATEST POINTS WHILE AVOIDING PREVIOUSLY REPLICATED REGIONS data time Capture last N points Mark region replicated data time Capture last N points (avoiding region) Mark region replicated Pass 1: Pass 2:
  • 15. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 15 • replication.py – Clones local data to the cloud – Logs if data replication is successful – Retries failed replications • Algorithm – Query for previously replicated regions – Query for last N points avoiding these regions – Attempt to replicate – If successful, mark a new replication region – Merge overlapping replication regions (set field value = 0) REPLICATION – GET LATEST POINTS WHILE AVOIDING PREVIOUSLY REPLICATED REGIONS data time Depreciate overlapped regions Capture latest N points (avoiding region) Mark region replicated Pass 3:
  • 16. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 16 Time • Every CPU cycle is valuable • Performance testing on MUGS v2 (1st generation) – Many modules are written with adjustable inputs (eg; data rate limiting) – CPU consumption is total CPU consumption (eg; total system usage, influx, telegraf, etc.) – Highlights key bottlenecks – Performance tradeoffs PERFORMANCE – EASY TO QUANTIFY WITH TELEGRAF core100.py synchro.py influx.py (all points) influx.py (nominal) influx.py (low data rate) relative.py replication.py extras.pyinflux.py (all, med, low) x2 circuits
  • 17. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 17 • Every CPU cycle is valuable • Performance testing on MUGS v2 (1st generation) – Insert by series saves ~30% CPU – Possibly related to lower overhead in python client PERFORMANCE – QUANTIFYING ALLOWS IMPROVEMENTS
  • 18. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 18 • GZIP compression on data – Repeated tag values OPEN SOURCE CONTRIBUTION – GZIP FEATURE if self._gzip: # Allow us to receive gzip'd data # as well as write it out headers.update({ 'Accept-Encoding': 'gzip', 'Content-Encoding': 'gzip', }) if data is not None: # For Py 2.7 compatability use Gzipfile compressed = io.BytesIO() with gzip.GzipFile( compresslevel=9, fileobj=compressed, mode='w' ) as f: f.write(data) data = compressed.getvalue()
  • 19. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 19 DON’T TOUCH THAT WIRE! – MOBILE POWER METER • Problem: – Power is a resource – Assured power needs measurement – Measurement devices($100 - $10k) – Electrician ($100s / hr) – Power interruption ($X / hr) • Solution: – $0 power interruption – $0 untrained solider installation – $3-5k / device • Impact: – Informed energy consumption – Saves energy, safes fuel, saves lives
  • 20. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 20 • Calibration dependent on location around cable • Adding inertial measurement unit (IMU) data to DB – Identify if sensor has moved and needs re-calibration – Measurements of field as a function of angle around cable – Previously had to estimated cable angle assuming “constant rotation rate” MOBILE POWER METER – ADDING ORIENTATION DATA
  • 21. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 21 ENVIRONMENTAL SENSING TO PROMOTE CONSERVATION AND EFFICIENT BUILDINGS • Goal: Improve building efficiency using machine learning – Relationship between power usage and environment can indicate poor efficiency – Inform building renovations – identify buildings that yield highest ROI from renovations • Proof of concept with a small box and space heater – Encouraging results and scaling up
  • 22. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 22 • Student code: – Weather sensors – AC Control • Joint code: – InfluxDB-python connector – Writes to our sensor DB • Replication: – Check the new field to replicate SUPPLEMENTAL MEASUREMENTS ARE EASY TO REPLICATE • Temperature • Humidity • Light • AC Control replication.py +weather_station https://opensource.com
  • 23. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 23 ENVIRONMENTAL SENSING TO PROMOTE CONSERVATION AND EFFICIENT BUILDINGS • Goal: Improve building efficiency using machine learning – Relationship between power usage and environment can indicate poor efficiency – Inform building renovations – identify buildings that yield highest ROI from renovations • Proof of concept with a small box and space heater – Encouraging results and scaling up • Sensors and control through a Raspberry Pi – Pushes data to ARL sensor over local network – ARL sensor replicates data into cloud – Student summer project – Interfaced with existing database and replication • New shed instrumented and collecting data • Using Chronograf to share data Credit: Drummond, Zachary Credit: Drummond, Zachary MUGS / Jetpack Raspberry Pi AC Unit
  • 24. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 24 MAGNETIC FIELD SENSOR ARRAY – 3 AXES SENSORS • 4D Sensor “pixel” – 3-Axis H-field sensor – 1-Axis E-field sensor – 2x pixels per processing board
  • 25. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 25 FULL 6X8 ARRAY WITH BORDER ELEMENTS
  • 26. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 26 • Hardware – Supports up to 128 channels – Array uses 4x6 x4d sensors = 96 channels of data • Software – Array visualization tool • Impact – Test fundamental resolution limits IMAGING ARRAY: A LOCAL AREA “CLOUD” Array visualization Single Board Computer (i7 with CentOS) Backplane Signal Conditioning Board ARTEMISMOBILE Raw SD Phasor Processing InfluxDB x6 ARTMEIS RACK x24 Signal Conditioning Board ARTEMISMOBILE Raw SD Phasor Processing Signal Conditioning Board ARTEMISMOBILE Raw SD Phasor Processing
  • 27. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 27 • Array Designer + Streamer – Allows design of NxM arrays – Can be sparse arrays! (Saves data efficiently) • Live Visualization – Select between harmonics, magnitude or phase – Dynamically connects (handles disconnects, etc.) – Dynamically adjust scaling • Can even be run on the edge devices • Dirty secret: Doesn’t use Influx – Easier to reshape data packet than manipulate query results – May need more accurate solution for higher frequency, phase sensitive measurements STREAMING ARRAY VISUALIZATION
  • 28. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 28 • Hardware – 3-Axis E-field sensor – 3-Axis H-field sensor – 6-Axis Inertial measurement unit (IMU) – Integrated GPS • Software – Measure 60-Hz signals – Use IMU to align to world-coordinates – GPS to place on map • Impact – Background measurements facilitate sensor placement for high-precision measurements – Disaster recovery – Puerto Rico / Bahamas Identify infrastructure most in need of repair WIDE AREA ELECTRIC & MAGNETIC FIELD SURVEYS Vector fields are aligned to world coordinate frame MUGS E-Cube H-Cube x yz Latitude Longitude
  • 29. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 29 • What’s a good configuration? – Is there a way to automate configuration and “tune” to the host system? • Some hacks I’ve noticed – Disable _internal logging – Switch from inmem to tsi1? (Memory constrained platforms) • Hard power cycle – Restart through power switch / dead battery / pulling power – Corrupts lots of files – Recovers a few files and then fails ANECDOTAL ISSUES OR HOW I NOW WORRY ABOUT DELETING THE DATABASE • Query data by series – Fully specified series query much faster (helper scripts scrape data and dump into csv) • Still difficult to get pandas arrays out • How to map data into an image like structure? https://github.com/influxdata/influxdb/issues/10939 https://github.com/influxdata/influxdb/issues/12902 https://github.com/influxdata/influxdb/issues/14676
  • 30. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 30 • Accelerate technology development, demonstrations, and transitions • Fundamental new technology – Easy to insert new measurements – Chronograf in cloud is nice collaboration tool – Telegraf helps identify resource bottlenecks and optimize code – Helps to quantify things • Demonstrations – Short turn-around time for new demo – Chronograf -> Visualization • Transitions to the warfighter – Actionable information: Kapacitor Alerts • Downsides – Hidden “gotchas” – File corruption TEAM, SUMMARY, AND QUESTIONS data time Replication:
  • 31. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 31 Additional Slides
  • 32. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 32 • Working on obtaining electric- and magnetic-field map of ARL test field. FIELD MAP OF ENVIRONMENT FACILITATES PRECISION / LOW NOISE SENSOR STUDIES / ENVIRONMENTAL STUDIES TODO: Field Map
  • 33. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 33 Problem: • Typical Helmholtz coil has given field with zero derivatives only in the center of the coil and in free space. • Presence of steel walls in laboratory impact performance. Solution: • Numerically model lab and surroundings. • Optimize the currents and spacing of the cage coils to maximize uniform region. H-FIELD CAGE OPTIMIZED TO PRODUCE LARGE UNIFORM REGION Credit: Hellwig, Ansgar https://en.wikipedia.org/
  • 34. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 34 • TODO: Possible slide here from IoBT folks. ARL INTERNET OF BATTLEFIELD THINGS (IOBT) CRA TODO: POSSIBLE IOBT SLIDE
  • 35. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 35 WHAT IS VIPERS Webserver Dataserver Network Manager Plot server ControlSignals
  • 36. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 36
  • 37. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 37 • replication.py – Clones local data to the cloud – Logs if data replication is successful – Retries failed replications • “API” allows additional replication – Another process modifies historical data… – Just mark the next sow point as “not- replicated” or insert a new sow point – Replication script gathers that data on the next pass and replicates REPLICATION.PY • Influx Replication Flags – Measurement = “replication” – No tags! – Field: “response” • Code 1 = success • Code 0 = not yet tried • Code <0 = error • Algorithm – Sow Thread: “Sows” replication points with code 0 every <sow_interval> s. – Reap Thread: Every <reap_interval> searches for up to <reap_points> of replication measurements with response <= 0 – Queries selected measurements within non- replicated region(s) – Attempts replication and stores results Reap: Gathers data between non-replication points Sow inserts new points First pass (N = 4) Second pass (N = 4) success failed untried
  • 38. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 38 REPLICATION.PY Sow inserts new points First pass (N = 4) Second pass (N = 4) Reap: Gathers data between non-replication points success failed untried Maximum extent: sow_interval Will not replicate to -Inf
  • 39. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 39 • The database schema defines how data is inserted into the database. – Impacts insert performance – Impacts query performance – Impacts ease-of-use • How difficult is it to make a query • What are the implications if a query is mal- formed (eg; missing a GROUP BY()) DATABASE SCHEMA - CONSIDERATIONS • Encouraged – Encode metadata in tags • Store common-queries in tags • Store GROUP BY () data in tags • Store function() data in fields • Store non-string data in fields – Avoid using keywords as identifier names • Discouraged – Don’t have too many series • Cardinality = unique(fields) * unique(tags) • Highly variable tags increase cardinality • Higher cardinality = lower performance – Don’t encode data in measurement names • Simplifies queries – Don’t put more than one piece of information in a tag • Otherwise you’ll have to use regexp to separate
  • 40. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 40 DATABASE SCHEMA – REJECTED • Measurement: phasors • Fields: channel • Tags: – type [current, voltage, power, frequency, thd] – center_frequency [string, 60, 180, …] – component [“real”, “imag”] • Issues: – Have to scan first for channel names – Each query now becomes 2+ operations • “SHOW FIELD KEYS” • For each field, get me all the data for that channel • Ex: what query selects only voltage measurements? – OR: over-query and down-select • “SELECT * FROM “db.rp.phasors” • Overcommits CPU
  • 41. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 41 DATABASE SCHEMA – REJECTED • Measurement: level [synchro, relative, power] • Fields: type [current, voltage, efield, hfield, power, frequency, thd] • Tags: – channel [string] – type [current, voltage, power, frequency, thd] – center_frequency [string, 60, 180, …] – component [“real”, “imag”] • Issues: – Each measurement may have different available fields • Measurement = synchro supports type = [current, voltage, frequency, thd] • Measurement = power supports type = [voltage, power, frequency, thd] – Measurement may be missing – > Similar queries must be re-written based on measurement type even though the operation is similar (“yield all voltage measurements”)
  • 42. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 42 • Measurement: phasors • Fields: type [current, voltage, efield, hfield, power, frequency, thd] • Tags: – channel [string] – center_frequency [string, 60, 180, …] – component [“real”, “imag”] – circuit [string] – level [string] DATABASE SCHEMA - REJECTED • Issues: – Circuit and Level are very rarely used in queries • Mostly used in post-processing graphics (and sometimes not at all) – Complicates queries (specify two additional parameters) – Allows for inadvertent power summation • Eg; not specify GROUP BY “level” would sum synchro, relative, and power measurements.
  • 43. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 43 • Measurement: phasors • Fields: type [current, voltage, efield, hfield, power, frequency, thd] • Tags: – channel [string] – center_frequency [string, 60, 180, …] – component [“abs”, “angle”, “real”, “imag”] DATABASE SCHEMA - REJECTED • Issues: – What we’re measuring still isn’t top-level – The interesting value (absolute value power) is buried in tags. – Allows for inadvertent power summation • Eg; not specify GROUP BY * would sum abs, angle, real and imaginary measurements.
  • 44. APPROVED FOR PUBLIC RELEASE APPROVED FOR PUBLIC RELEASE 44 • Measurement: type [current, voltage, efield, hfield, power, frequency, thd] • Fields: component [“abs”, “angle”, “real”, “imag”] • Tags: – channel [string] – center_frequency [string, 60, 180, …] – circuit [string] DATABASE SCHEMA - CURRENT What does this do: SELECT “abs” FROM “db.rp.phasors.current” WHERE “center_frequency”=“60” GROUP BY * • Integration with dLAMP data structure – Channel name has to store additional information (introducing 2 reserved characters): • . (dot) Used to separate major identifiers • : (colon) used to separate channel from reference • <type>.<center_frequency>.<circuit (optional)>.<channel>:<reference (optional)> • “current.60.main.I_A:V_A” • “power.60.main.I_A:V_A” (this is the previous multiplied by |V_A|) • “frequency.60.V_A” [see notes] • “thd.60.I_A” [see notes]

Editor's Notes

  1. Looking for tools that support these tasks: Flexible Rapid iteration Provide instant feedback
  2. Total options: 6 * 4 * 3 * 4 * 4 = 1152
  3. Dave Hull: Team lead Sean Heintzelman: Sensor design and characterization Ross Adelman: Modelling and simulation Alex George: Mechanical Engineering Brandon Parks: Data protocols Zac Drummond: Data protocols & environmental Testing – Kathleen Board production – ORI / Nanotok
  4. Answer: That query selects all current measurements from the phasors database at 60 Hz, preserving the channel and component tags (eg; keeps real and imag data separate) Some downsides: Implicit separation between synchro (no reference) and relative phasors. NOTES: On “frequency.60.I_A” We should specify whether this is a deviation from the nominal (60) Hz frequency (value would be 0.231), or an exact frequency (value would be 60.231). On “thd.60.I_A” I fully realize that it’s a little weird to assign a frequency to the THD. But; The query won’t specify a center_frequency and will sum over all center_frequency tag values. We really are looking at distortion from the nominal operating frequency, so if we do assign a frequency to it, the fundamental makes the most sense. This allows extension of the THD to support spectral components: eg; we could specify the 180 Hz contribution to the THD in thd.180.I_A.
  5. Answer: That query selects all current measurements from the phasors database at 60 Hz, preserving the channel and component tags (eg; keeps real and imag data separate) Some downsides: Implicit separation between synchro (no reference) and relative phasors. NOTES: On “frequency.60.I_A” We should specify whether this is a deviation from the nominal (60) Hz frequency (value would be 0.231), or an exact frequency (value would be 60.231). On “thd.60.I_A” I fully realize that it’s a little weird to assign a frequency to the THD. But; The query won’t specify a center_frequency and will sum over all center_frequency tag values. We really are looking at distortion from the nominal operating frequency, so if we do assign a frequency to it, the fundamental makes the most sense. This allows extension of the THD to support spectral components: eg; we could specify the 180 Hz contribution to the THD in thd.180.I_A.