cnlohr / esplocalizer Goto Github PK
View Code? Open in Web Editor NEWESP8266 with IMU, Barometer and Battery
License: MIT License
ESP8266 with IMU, Barometer and Battery
License: MIT License
I'm having trouble reading the accel and gyro data from a websocket. The default /firmware-c web interface gives a link to the CSV file, but I'm getting 0 bytes or "unable to connect" errors at /d/fastacc.csv
I'm able to create websockets to these endpoints I found in the source:
/d/ws/echo
/d/ws/evaltest
/d/ws/issue
My hunch is I'd have to create a new endpoint: /d/ws/fastacc which the ESP sends websocket packets to connected devices through.
The web interface and fastacc() in /firmware-c/user/user_main.c looks like the device should already be sending this data, I'm not sure the endpoint to connect to or if this is a problem with my setup.
When I click on the Fast Acc CSV link in web interface, this function should write to socket. 'Save link as' doesn't make a difference:
static ICACHE_FLASH_ATTR void fastacc()
{
//char mydat[128];
//int len = URLDecode( mydat, 128, curhttp->pathbuffer+8 );
char buf[1024];
int times = 20;
int len = 0;
int16_t data[10];
if( first_acc == 1 )
{
first_acc = 0;
len += ets_sprintf( buf+len, "gx, gy, gz, ax, ay, az\r\n" );
}
for( ; times > 0 && lsmhead != lsmtail; times -- )
{
int16_t * data = &lsmdata[6*lsmtail];
lsmtail = (lsmtail+1)%LSMBUFFERSIZE;
len += ets_sprintf( buf+len, "%d, %d, %d, %d, %d, %d\r\n", data[0], data[1], data[2], data[3], data[4], data[5] );
}
if( len )
{
START_PACK;
PushBlob( buf, len );
END_TCP_WRITE( curhttp->socket );
}
if( i2cmode == 0 )
{
curhttp->state = HTTP_WAIT_CLOSE;
}
}
I would like recreate this device but the hardware section is missing the pcb file. Could it be included in the repository?
Cloned esp82XX-basic example compiled and flashed to esp without issue. Everything works great.
Unable to do make all
in /esplocalizer/firmware-c, compiler missing 'lib' files. What does libmain.a do and where can I get it :) ?
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libmain.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/liblwip.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libssl.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libupgrade.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libnet80211.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libwpa.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libphy.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/liblwip.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libcrypto.a: No such file or directory
xtensa-lx106-elf-gcc: error: /Volumes/case-sensitive/esp-open-sdk/lib/libpp.a: No such file or directory
Hello @cnlohr,
Thanks much for publishing your projects as open hardware as well as the firmware, always inspiring stuff to learn from you.
I have been trying to reuse your .sch
since I have a couple of modifications in mind to your design.
Sorry if this sounds obvious (I'm a relatively new KiCad user), but how can I auto-import the footprints for pcbnew without manually importing each .pretty
library/module? as the KiCad docs state, i.e:
https://github.com/jdunmire/kicad-ESP8266
I thought about giving this giant meta-pretty-repo a shot, but the ESP footprint doesn't seem to be there:
https://github.com/monostable/kicad_footprints
I understand you might be using your existing installation/footprints from past projects, but what would be your advice to semi-automate this process of importing footprints?
When I build esp_10dof.ino using Arduini 1.8.5 I get the error:
/var/folders/53/6tzgtd453hzgcg2hsv9j353w0000gn/T/arduino_build_876699/sketch/esp_10dof.ino.cpp.o:(.text._Z12sensor_setupv+0x10): undefined reference to `LSM9DS1::begin()' /var/folders/53/6tzgtd453hzgcg2hsv9j353w0000gn/T/arduino_build_876699/sketch/esp_10dof.ino.cpp.o: In function `sensor_setup()': /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:106: undefined reference to `LSM9DS1::begin()' /var/folders/53/6tzgtd453hzgcg2hsv9j353w0000gn/T/arduino_build_876699/sketch/esp_10dof.ino.cpp.o: In function `printData()': /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:165: undefined reference to `getAccel(bool)' /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:165: undefined reference to `getGyro(bool)' /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:166: undefined reference to `getMag(bool)' /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:167: undefined reference to `getAccel(bool)' /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:168: undefined reference to `getGyro(bool)' /var/folders/53/6tzgtd453hzgcg2hsv9j353w0000gn/T/arduino_build_876699/sketch/esp_10dof.ino.cpp.o: In function `loop': /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:168: undefined reference to `getMag(bool)' /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:171: undefined reference to `LSM9DS1::LSM9DS1()' /Users/Kostia/drive/Dropbox/ec2/gled/esplocalizer/firmware-arduino/esp_10dof/esp_10dof.ino:174: undefined reference to `LSM9DS1::LSM9DS1()' collect2: error: ld returned 1 exit status
How to fix it?
New install following instructions, cloned esp82XX-basic example, successfully flash firmware with "make burn" and "make burnweb" (no errors), but doesn't start a wifi hotspot. Serial output on reset shows:
esp82XX Web-GUI
Version: v0.1-7-g06742-dev - Build Thu Jan 19 20:05:33 PST 2017 with -DICACHE_FLASH -DWEB_PORT=80 -DCOM_PORT=7777 -DBACKEND_PORT=7878 -DSLOWTICK_MS=5Loading Settings: af / 0 / 69 / 69
Settings Loaded: ESP_930A72 / Default
Opmode: 0
Boot Ok.
I'm not sure how to debug why the Opmode would be 0 (wifi off) for this example project. Any pointers would be really helpful, thank you!
On MacOS 10.12
Can you please expose more information on the parts you used? Especially the LDO you used.
Is it < 20 uA?
That would make it a really useful IoT device.
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.