Wifi/BLE Paxcounter Project with ESP32 boards

TTGO T-Beam V07 with BME280 and OLED-0,96" Display, running Paxcounter, casing colorscheme TTN

TTGO%20T-Beam%2007

5 Likes

Anyone here to meet on #35c3 in Leipzig/Germany this year? :slight_smile:

Hello @Verkehrsrot have a look here: TTN Communities Meeting at the 35c3 and you’re very welcome!

14 posts were merged into an existing topic: LICENSING do and don’t

A Talk on wifi sniffing, market players and legal restrictions:

3 Likes

Greetings -

Thank you, @Verkehrsrot, for the code.

I was able to perform a new install of Atom+platformIO on Windows, configure, and compile and load to a TTGO LoRa32 V2.1_1.6 US 915.

1 Like

HELP NEEDED!

Current paxcounter version in development branch has as strange bug concerning reading the BME680 sensor (if installed): After reproducable 71 minutes (~ 4297860ms) of runtime, the Bosch bsec.cpp routine does not start any longer if called, what means that no new measurements arrive.

Maybe sort of some counter wrap or side effect, but couldn’t find it yet after hours of analyzing… :frowning:

Anyone here who can help?

Paxcounter new release v1.7.11 was published today!

Bugfixes / internal changes:

  • Bluetooth: changed default to bluetooth disabled, this achieves ~10-30% better wifi sniffing results (can be enabled during runtime by rcommand 0x0e or by changing defaults in configmanager.cpp
  • Bugfixes in Cayenne payload encoder
  • Platformio.ini restructured
  • OTA Wifi download stabilized & debugged
  • Upgrade ESP32 core to ESP-IDF v3.1.2
  • Upgrade Arduino-ESP32 core to v1.0.1 (= PlatformIO espressif32 v1.6.0)
  • Update documentation (readme.md)

New features:

  • Full BME680 environment sensor support, including indoor-air-quality (using BOSCH BSEC library)
  • ESP32 AES hardware encryption option (not used yet)
  • PSRAM support on devices with external SPI RAM now fully functional (used to store MACs)
3 Likes

This issue seems not to reoccur with new 1.7.11 version.
So far so good but i have now clue why…

1 Like

New paxcounter version 1.7.11 working like a charme on different ESP32 boards :sunglasses:

paxcounter-curves

2 Likes

Screenshot_20190113-072606

IMG_20190113_122945

3 Likes

Hello,

Did test with following board’s and all work’s with this new release

Board type : ttgov21, White Heltec, Heltec v2, ttgov22-v07

Let’s counter futher on WiFi an BT.

Johan

1 Like

imagine a square… 100x 100 mtrs
there is a market… the organiser wants to know how many visitors and on what times of the day.

  • how many paxcounters do you need
  • can you make ‘meshed/coordinated’ paxcounters that gives a reliable output for bigger area’s

for that you need to process data from all involved paxcounters, compare them ect.is that allowed

great! & thanks for testing.

Meshed counters and comparing MAC addresses will be strong to legal boundaries, that’s why i did not realize this function.

But i think this not needed. Just grab all anonymous counts from every location a make a realtime heatmap of this data on server side.

So this should be a function of the backend.

The project still misses a functional backend with UI etc., who can make one?

1 Like

New #paxcounter version 1.7.14 in development branch got a new feature: Operating as a real time master clock controller, it can generate IF482 time telegrams (useful e.g. for synching railway station clocks).

Time source is a buffered on board RTC, as found on TTGO T-Fox, externally synched either by GPS time or by LoRaWAN* network time.

This way discrete DCF77 decoders becomes obsolete. Maybe someone could add DCF77 encoder to paxcounter code? Then a TTGO T-Fox module could emulate a DCF77 decoder.

*) With TTN yet to come with v3 stack, not supported by v2 stack.

Hello,

Good afternoon, I’ve been reading for a few days and I’m new to the forum. This using Mac, VS Code and PlatformIO with the latest master version.

I have compiled the code and made the configuration settings that I believe necessary to make the first tests in the absence of the LoRA communication, I have even added new IDs of Xiaomi in the file vendor_array.h.

The problem is that it detects WIFI devices but it does not detect Bluetooth. Can you give me an idea?

In the file configmanager.cpp I have activated the BLEScanner and also the vendorfilter.

Let’s see if you can give me directions to follow.

Thanks in advance.

13

Try to send a remote command 0x0e 0x01 to enable bluetooth.
Go to TTN console, select your device, scroll down to downlink, set FPort to 2 and enter payload 0e 01. Then wait until the paxcounter received the command, it will then turn bluteooth on (if the feature was compiled in code).

You can also modify the default setting “blescan” in configmanager.cpp, then reflash and reboot.

Note: If you modify setting in configmanager.cpp, it will not affect the runtime settings immediately, because settings are saved in NVRAM and reloaded at device startup. So you need to erase NVRAM settings with rcommand 09 02, or you increase the version number in platformio.ini. The device checks the version number during startup and if a newer version is detected, NVRAM settings are cleared.

Yes, this is weird, you’re welcome to make pull request with refactored configmanager.cpp code!

1 Like

Thank you very much for the help.

After different tests I verified what was said in the forum by trying three configurations: Only WIFI, WIFI + Bluetooth, Only Bluetooth.

The WIFI + Bluetooth configuration is not very efficient when performing the detection, much slower. In the end I opted for scanning separately to optimize device detection.

I now enter the assembly of a proprietary LoRAWAN network to send the data.

1 Like