jellingstone's People
jellingstone's Issues
Anpassung esp-idf v4.0
Mit Version 4.0 hat sich der Syntax für die toolchain geändert. Das JellingStone-Makefile kann keine .csv-Datei mehr konvertieren.
Is db.c racy?
Is:
-
There's a single db_add function called on each subject discovered. If it runs an parallel, the same subject is created multiple times, eventually.
-
When detecting a subject, can looks take to long? Atm we compare up to 300 entries (uudi - memcmp, 2 integer) => a few thousend instructions
Should:
- Here:
- Either: Running in parallel should not create equal entries
- Or: Duplicates are pruned before sending
- Or: We know, that's not running in parallel
- Make sure, that we're fast enough
OTA
Is: Updates are installed using a serial cable
Should: Install Updates using a https-server
note: A http-client was recently introduced into esp-32
TODO: Fachlicher Service Namenslösung
Idee:
import { Injectable } from '@angular/core';
import {MqttAdapterService} from './mqtt-adapter.service';
import {Observable} from 'rxjs';
import {filter, map} from 'rxjs/operators';
import {AggregatedName} from './model/aggregated/aggregated-name';
@Injectable({
providedIn: 'root'
})
export class NamesService {
constructor(private mqtt: MqttAdapterService) { }
public name(mac: string): Observable {
return this.mqtt.aggregatedNamesSubject().pipe(filter( (map, index) => {
return map.get(mac).name;
});
}
public updateName(mac: string, name: string){
this.mqtt.publishName(mac, name);
}
}
Testing deployment Situation
Is:
Vague ideas on the accurancy exists.
Should:
Test different parameters (beacon rate, scan interval (total / per channel). How to detect beacons reliabiy?
Lora + GPS
Todo: Use Lora + GPS for outdoor positioning
Label printing
Is:
All data describing a esp32 (mac-adresses, major, minor) is distributed via MQTT only.
Should:
All data describing a esp32 (mac-adresses, major, minor) is printing on the esp32 board using (blank, QR-Code)
Erweiterung NVS config
Ist:
- NVS funktioniert gut :-)
- Gesetzte Optionen für JellingStone in make menuconfig (aus Kconfig.projbuild) werden nicht übernommen.
- Weitere Settings wären gut
- Makefile flashed die aktuelle nvs_data.csv seperat
Soll:
- Entweder: Ausbau der Optionen aus Kconfig.projbuild - Oder: Verwendung der Optionen als Default-Werte, falls NVS-Einträge fehlen.
- UUID, BEACON_MAJOR, BEACON_MINOR, BLE_SCAN_INTERVAL und DEVICE_COMMENT sollten auch via NVS konfigurierbar sein.
- Der Name für die Settings sollte übergeben werden; ein gemeinsames target wäre nett, (z.B.
make stone NVS=nvs_data.node-23
,make flash_nvs NVS=nvs_data.node-23
). In beiden Fällen wird die Dateinvs_data.node-23
verwendet; ersteres führt die targetsflash
undflash_nvs
aus
MQTT + Wifi configuration: External
Is:
All configuration data is embedded into source could
Should:
- Use NVS to externalize data
- Document how to flash with and without NVS-data
Compression
Is: JSON-data is transmitted as is using mqtt
Should: JSON-data is optionally compressed using miniz / deflate
Testing, optimizing power-consumption
Is:
The esp32 roughly consumes 100mA.
Should:
Minimize the power-consumption.
Ideally, a 2000 mAH Powerback lasts 24h. Thus 80mA would be better.
MQTT disconnect robustness
Ist:
- Besteht keine MQTT-Verbindung, so werden Nachrichten verworfen. Auch in ruhigen Umgebungen (z.B. Jans Arbeitszimmer) kommt es hin- und wieder zu TCP-Resets beim MQTT-Client.
Soll:
- Vorgehen entwerfen - Falls möglich, senden?
- Nachrichten im flash Speichern (wear-out?)
- Nachrichten im RAM speichern (Größe).
Feste credentials & OTA
Das flashing funktioniert recht unzuverlässig - das flash-tool ist nicht stabil.
Idee: Feste Wifi-credentials und ota verwenden? OTA dann via flashtool?
BLE MAC als Topic- und Stone-Name
Ist:
- Die primäre ESP32 mac wird als topic-Name verwendet.
Soll:
- Die bluetooth mac soll als topic und stone name verwendet werden.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.