Giter Club home page Giter Club logo

rpi-p2000receiver's Introduction

P2000 rtl-sdr based messages receiver.

Features

  • Standalone P2000 messages receiving (RTL-SDR compatible receiver required)

  • Cross-platform (can work on Windows, Linux and Mac)

  • Show messages on LCD or via web browser interface from any home device

  • Capcodes phonebook (note: user should fill capcodes.txt before using)

  • Capcodes optional filter (white list)

  • 5000 messages memory (can be increased in settings)

  • Data post to 3rd party server (optional)

  • Websockets support

Screenshots

View

View

View

Install (RPi)

  1. Before begin:

sudo apt-get install build-essential cmake unzip pkg-config

sudo apt-get install libusb-1.0-0-dev

sudo pip3 install wheel sudo pip3 install setuptools sudo pip3 install tzlocal

  1. Install RTL-SDR:

git clone git://git.osmocom.org/rtl-sdr.git

cd rtl-sdr

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON

make

sudo make install

sudo ldconfig

"rtl_test" command should work after this install.

  1. Install multimon-ng:

sudo apt-get -y install git cmake build-essential libusb-1.0 qt4-qmake libpulse-dev libx11-dev qt4-default

git clone https://github.com/Zanoroy/multimon-ng.git

cd multimon-ng

mkdir build

cd build

qmake ../multimon-ng.pro

make

sudo make install

"multimon-ng" command should work after this install.

  1. Install additional libraries:

sudo pip3 install numpy pillow spidev requests

  1. Get app sources:

git clone https://github.com/dmitryelj/RPi-P2000Receiver.git

Optionally, fill the capcodes list (can be found in internet).

Connect RTL-SDR dongle and run the app:

python3 /home/pi/Documents/RPi-P2000Receiver/p2000.py

Add app to startup (sudo nano /etc/rc.local):

python3 /home/pi/Documents/RPi-P2000Receiver/p2000.py &

Thats it.

Install (Windows)

Download and install Python 3

Install additional components: pip.exe install Pillow tzlocal requests numpy

Download and install RTL-SDR libraries (rtl-fm is required to be installed)

Clone as zip and extract app sources from this page

Optionally, fill the capcodes list (can be found in internet)

Run the app: C:\Python3\python.exe p2000.py

Get/Post support (optional)

To get messages in a JSON format, http://IP-ADDRESS:8000/api/messages request can be used.

To get messages via websocket, use ws://IP-ADDRESS:8001 (see index.html for details).

To post data to a 3rd-party server, "postToServer" method should be uncommented in 'p2000.py'.

rpi-p2000receiver's People

Contributors

dmitryelj avatar m1k3-nl avatar tomswinkels avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rpi-p2000receiver's Issues

libTFT

Traceback (most recent call last):
File "p2000.py", line 26, in
import libTFT
ImportError: No module named 'libTFT'

Any thoughts on how to overcome this ?

ImportError: No module named 'tzlocal'

This error i get, how can i fix this?

pi@raspberrypi:~ $ python3 /home/pi/RPi-P2000Receiver/p2000.py
Traceback (most recent call last):
File "/home/pi/RPi-P2000Receiver/p2000.py", line 23, in
import libTFT
File "/home/pi/RPi-P2000Receiver/libTFT.py", line 9, in
import utils
File "/home/pi/RPi-P2000Receiver/utils.py", line 3, in
import tzlocal
ImportError: No module named 'tzlocal'

Errors RaspberryPi 4

Hi,

I have install all on my Raspberry Pi 4 but get the next response;

pi@raspberrypi:~ $ python3 /home/pi/RPi-P2000Receiver/p2000.py

P2000 decoder v0.33 by Dmitrii Eliseev

Run:
python3 p2000.py --lcd=true|false [--filter=filter.txt] [--capcodes=capcodes.txt]

Server running: http://192.168.0.48:8000
API (GET): http://192.168.0.48:8000/api/messages
Websocket: ws://192.168.0.48:8001

LCD in use: no
Frequency: 169.65M
rtl_fm: ok
multimon-ng: ok

Loading /home/pi/RPi-P2000Receiver/capcodes.txt
Capcodes: 2 records loaded
Filter: 0 strings loaded

Loading capcodes for classifier /home/pi/RPi-P2000Receiver/cc_police.txt
  4 loaded
Loading capcodes for classifier /home/pi/RPi-P2000Receiver/cc_fire.txt
  10 loaded
Loading capcodes for classifier /home/pi/RPi-P2000Receiver/cc_ambu.txt
  21 loaded
Websocket thread started
Http server started
Data post thread started
Found 1 device(s):
multimon-ng 1.1.7
  (C) 1996/1997 by Tom Sailer HB9JNX/AE4WA
  (C) 2012-2019 by Elias Oenal
Available demodulators: POCSAG512 POCSAG1200 POCSAG2400 FLEX EAS UFSK1200 CLIPFSK FMSFSK AFSK1200 AFSK2400 AFSK2400_2 AFSK2400_3 HAPN4800 FSK9600 DTMF ZVEI1 ZVEI2 ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE_CW DUMPCSV X10 SCOPE
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Detached kernel driver
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
No supported tuner found
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
Enabled direct sampling mode, input 1
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
Tuner gain set to 0.00 dB.
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_write_reg failed with -7
Allocating 15 zero-copy buffers
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
WARNING: Failed to set center freq.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
rtlsdr_demod_write_reg failed with -7
rtlsdr_demod_read_reg failed with -7
WARNING: Failed to set sample rate.
Output at 22050 Hz.

Any idea?

time in utc not local time

followed your install manual, but my time showed in the browser is in utc not my local timezone.
Current default time zone: 'Europe/Amsterdam'
Local time is now: Thu May 27 22:28:30 CEST 2021.
Universal Time is now: Thu May 27 20:28:30 UTC 2021.

2021-05-27 20:28:16
07.018. To: 002029568, 001423377, 001423001, 001420999
A2 (DIA: ja) AMBU 18177 Willem de Zwijgerstraat 2967EM Langerak LANGRK bon 70079

[SOLVED] Capcode filter names not showing with multiple capcodes

I have added all the required capcodes to the capcodes.txt, but if there is more than one capcode in a message, it will not display them. I've tried everything, but it doesn't work.

So if you have one capcode with a message ex: 001100220 and you added this to the capcode file, it will show the name.
ex: 001100220,TestCapcode
Will show: TestCapcode (001100220)
But ex: 001100220 002211550 won't show it.
And the capcode 002029568 and 002029569 are GROUP IDs
(https://monitor.p2000alarm.nl/capcode/2029568 and https://monitor.p2000alarm.nl/capcode/2029569) but they show as a normal capcode. Can I somehow filter these out?

Any idea of how this can work?

vncviewer_mArdj15eyi
sublime_text_ig4vECEGvC
notepad++_ZYBo3LEq0l
opera_KPKn5MGG5r

wich os

wich os are you running on raspberry

Data thread stopped

Hi,

I got this error.

FLEX|2020-06-13 16:40:37|1600/2/K/A|10.029|002029568 001423381 001423001 001420999|ALN|B1 AMBU 18181 Weegje 3295CT 's-Gravendeel SGRAVD bon 71858
POST: {
"body": "B1 AMBU 18181 Weegje 3295CT 's-Gravendeel SGRAVD bon 71858",
"capcodes": [
"AMBU"
],
"groupid": "001420999|ALN|B1",
"is_posted": false,
"priority": 3,
"receivers": "AMBU",
"sender": 0,
"timereceived": 1592066437.2198057,
"timestamp": "16:40:37|1600/2/K/A|10.029|002029568 001423381"
}
dataThreadFunc::Error in line: <class 'IndexError'> p2000.py 606 list index out of range
Data thread stopped

Any idea why?

Post data other format

Hi,

The post data has some raw format "capcodes=002029568&capcodes=000120999&capcodes=000120117&type=message&timestamp=2019-02-04+22%3A14%3A48&body=A1+13117+Rit+14864+Landsmeer+Weegbreesingel+1121XZ"

But when i send it to an PHP script and will get the $_POST data than i get;

{
capcodes: "001523183",
type: "message",
body: "B1 LUMC (K2-R) SEH LUMC Ambulancehal Brugmansplein LEIDEN : 16183",
timestamp: "2019-02-04 22:18:39"
}

You see only one capcode and not an array, maybe you can fix this?

Line contains ALN or NUM

Hi, I have one more little question for you. Maybe you can help. It's the last "issue" I have, so I won't bother you after this haha.

Most of the FLEX messages is:
FLEX|2020-10-17 18:40:22|1600/2/K/A|10.021|001523161|ALN|A2 Zadelmaker ALPHRN Directe inzet 16161
or
FLEX: 2018-07-29 11:43:27 1600/2/K/A 10.120 [001523172] ALN A1 Boerhaavelaan HAARLM : 16172

But now I have a capcode with a different sort of line:
FLEX: 2020-10-17 18:40:19 1600/2/A 10.020 [001530615] NUM 3301
Where 3301 is the message and NUM is the ALN.

Now the script is filtering on ALN by doing: message = line[line.find("ALN")+4:].strip()
How can I add NUM to the line.find of the old FLEX code.
ShareX_EAQOQhuj4p

Posting to server.

Maybe someone can help me.

I post the data to an server, but sometimes the raspberry pi loses its internet connection.
When that happens the post requests will stop forever, is it maybe an option to make an check, if ther is an connection active. so when the raspberry does have internet again, it can start posting again. Now i need to restart the script to start posting to te server again.

Thanks ๐Ÿ‘

Bug, regex prio

This message "Prio 4 A12 R 36,5 BODEGR Loslopende dieren" are set to prio 1, but it is prio 4.

image

Since pocsag is added some date are invalid

Since the pocsag is added to this project there are in the flex protocol invalid messages.

payload { "body": "-", "capcodes": [ "1323864", "1321752" ], "groupid": 0, "is_posted": false, "priority": 2, "receivers": "1323864, 1321752", "sender": 67, "timereceived": 1554798018.4470956, "timestamp": "2019-04-09 09:20:18" }

You see here a sender and before the pocsag it was not.

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.