GithubHelp home page GithubHelp logo

jellingstone's People

Contributors

h-e-n-r-i-k avatar henrikschnor avatar kerel-fs avatar rixxc avatar yanosz avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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:

  1. 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.

  2. 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:

  1. 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
  1. 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:

  1. NVS funktioniert gut :-)
  2. Gesetzte Optionen für JellingStone in make menuconfig (aus Kconfig.projbuild) werden nicht übernommen.
  3. Weitere Settings wären gut
  4. Makefile flashed die aktuelle nvs_data.csv seperat

Soll:

  1. Entweder: Ausbau der Optionen aus Kconfig.projbuild - Oder: Verwendung der Optionen als Default-Werte, falls NVS-Einträge fehlen.
  2. UUID, BEACON_MAJOR, BEACON_MINOR, BLE_SCAN_INTERVAL und DEVICE_COMMENT sollten auch via NVS konfigurierbar sein.
  3. 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 Datei nvs_data.node-23 verwendet; ersteres führt die targets flash und flash_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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.