timelab / adem Goto Github PK
View Code? Open in Web Editor NEWMobile device for distributed measurements of particulate matter (fine dust)
Home Page: http://ik-adem.be/
License: GNU Lesser General Public License v3.0
Mobile device for distributed measurements of particulate matter (fine dust)
Home Page: http://ik-adem.be/
License: GNU Lesser General Public License v3.0
The demo mode is currently a separate project. It should better reside in a separate demo folder as required by the Arduino IDE.
We want to integrate the demo.ino code into the adem.ino project as a separate state that can be started from the setup page shown in the AP mode of the ADEM project.
Voltage measurements return incorrect values like
{"Sensor":"Battery","VCC":65535,"Voltage":64.00}
The ADEM repository is currently under my personal github account. It would be nice to create a github "timelab" organization and an "ADEM" team in github. Unfortunately @timelab is already taken.
GPIO 12 and 13 begin pulled down by PPD42NS of manually does not seem to call the attached interrupt funtions. Even tried manually by shorting to ground. PPD42NS pulls down to about 1V. Is that low enough?
We could use the Scheduler library to create separate "threads":
Connect GPS module TX to ESP8266 Thing GPIO 5. Reading data from GPIO5 (RX) does not work in combination with 115200 baud rate GPS data rate.
$ make
...
Using library StoreAndForward in folder: /home/lieven/ADEM/ADEM/adem/libraries/StoreAndForward (legacy)
fork/exec /home/lieven/ADEM/ADEM/Arduino/tools-builder/ctags/5.8-arduino11/ctags: no such file or directory
Makefile:73: recipe for target 'build' failed
make: *** [build] Error 1
We already have basic git instructions, these could be expanded with pull request/merge.
$ make build
mkdir -p "/home/lieven/ADEM/ADEM/Build"
"/home/lieven/ADEM/ADEM/Arduino/arduino-builder" --compile \
--fqbn=esp8266:esp8266:thing \
--verbose --debug-level=9 --prefs=build.debug_level="-DDEBUG -DDEBUG_OUTPUT=Serial" --prefs=tools.ctags.path="/home/lieven/ADEM/ADEM/Arduino/tools-builder/ctags/5.8-arduino11" \
--hardware="/home/lieven/ADEM/ADEM/Arduino/hardware" \
--hardware="/home/lieven/ADEM/ADEM/arduino15/packages" \
--tools="/home/lieven/ADEM/ADEM/Arduino/tools" \
--tools="/home/lieven/ADEM/ADEM/arduino15/packages" \
--libraries="adem/libraries/" \
--build-path="/home/lieven/ADEM/ADEM/Build" \
adem/adem.ino
esp8266: Unknown package
Makefile:73: recipe for target 'build' failed
make: *** [build] Error 1
In DEMO made running overnight, I experienced one crash.
Serial communication... OK
Initializing LED... OK
Initializing scheduler... OK
Initializing barometer sensor... OK
Initializing humidity sensor... OK
Initializing particulate sensor... OK
=> Please connect to SSID: ADEM-9087009
=> And surf to: http://192.168.4.1/
Exception (29):
epc1=0x4000e1c3 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000018 depc=0x00000000
ctx: sys
sp: 3ffffc80 end: 3fffffb0 offset: 01a0
>>>stack>>>
3ffffe20: 401030a9 3ffef580 3ffeff80 00000000
3ffffe30: 40219ca9 40219be6 3fff3c7c 40103238
3ffffe40: 00000018 3ffeff80 3ffefefc 00000000
3ffffe50: 40219d40 3ff20a00 3fff3c7c 3ffed0be
3ffffe60: 3ffed0a4 3ffec3d8 3ffec3d8 3ffed0a4
3ffffe70: 3ffed0be 0000002c 00000004 401004f4
3ffffe80: 3ffed0ae 3fff403c 40216a93 3ff20a00
3ffffe90: 3fff3c7c 3fff97e4 00000015 40216965
3ffffea0: 3ffec3fc 4010760c 3fffc258 4000050c
3ffffeb0: 40000f83 00000030 00000010 ffffffff
3ffffec0: 40000f3d 00000023 00000000 3fffd9d0
3ffffed0: 00000000 00000000 00000000 fffffffe
3ffffee0: ffffffff 3fffc6fc 00000000 3fffdab0
3ffffef0: 00000000 3fffdad0 3fff2344 00000030
3fffff00: 3ffed700 00000000 00000036 401004d8
3fffff10: 4021df01 ffffffd6 00000000 40107a98
3fffff20: 40216201 3ffed0a4 3ffef580 3fff3c7c
3fffff30: 00000000 3ffed0ae 3ffed0c8 40106e56
3fffff40: 40211660 00000000 3ffed0ae 3ffed0a4
3fffff50: 0000002e 00000000 3fff403c 3ffed098
3fffff60: 00000000 00000036 40211292 3ffef580
3fffff70: 3ffed098 3fffdcc0 3ffebbc0 3fff3f24
3fffff80: 3ffed0b4 00000040 00000000 3fff2350
3fffff90: 40210bdf 3fffdab0 00000000 4020e877
3fffffa0: 3ffebbc0 40000f49 3fffdab0 40000f49
<<<stack<<<
see https://github.com/husio-org/AT24C512C for examples
We should probably add a date/time to the DEMO page, and only update it when new sensor data is pulled from the device. This would make it more clear when the device is no longer showing the real-time measurements.
We could also indicate when measurements have stopped (for whatever reason).
$ make build SKETCH=i2c-slave/i2c-slave.ino
...
fork/exec /bin/avr-g++: no such file or directory
Makefile:73: recipe for target 'build' failed
make: *** [build] Error 1
I get the following error when building i2c-gps:
i2c-gps:934: error: expected constructor, destructor, or type conversion before ';' token
blink_update();
^
i2c-gps:938: error: expected unqualified-id before 'if'
if (_watchdog_timer != 0)
^
exit status 1
expected constructor, destructor, or type conversion before ';' token
Check out the file system on the ESP8266. This might ease the design of webpages :-)
in the upload state we try to connect to the known networks. If not successful we keep on trying and as such will drain the battery. It is better to add a state to reflect the failure. Stay in the state untill the next measurements are ready to be uploaded
Currently in DEMO mode the mobile device will have to connect to http://192.168.4.1/ manually, which is non-trivial. The device would work out-of-the-box if the user would be redirected to a captive portal showing the latest measurements automatically.
This is a must-have if we want a publicly available demo for the audience/passer-by.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.