As I updated my blog quite a while ago, here are a few videos in a bunch:
Swimming with my Hytera PD785 in Lake Balaton :)
A quick look at the Hytera MD655 mobile radio
Hytera RD985 DMR repeater unboxing
Installing the HG5RUC Hytera DMR repeater
Turning back on the HG5RUC DMR repeater
Radio club day in July
Campfire in the radio club
A problem in our underground garage
Motorola DM4600 poweron-poweroff animation
Motorola DM4600 unboxing
An evening in the radio club
Our dog Scottie in 1998
An old clip recorded in my bedroom when I was an 8th grader :)
Cycling to work
A weekend in Tata
A visit to the Gallina family in Austria
A walk in the Mátra mountains
Trip to Ágasvár in the Mátra mountains
The new features are:
- The info column shows decoded SMS messages and GPS coordinates.
- dmrshark decodes voice calls and calculates their current and average RMS volumes. There’s a circle which varies it’s color according to the volume and helps setting the correct mic gain.
- Several new columns added to the repeater table.
- dmrshark can record decoded voice data to .mp3 files. Recorded files of the Hungarian network can be downloaded from the archive page.
- Live streaming via WebSockets or HTTP are now supported.
- DMR messages can be sent from an external SQL database table (see the Hungarian live status page). Both Hytera and Motorola formats are supported.
- Data packet sending and receiving with full FEC encoding/decoding and selective retransmission.
- SMS format conversion is supported. If you send an SMS from a Hytera transceiver to a Motorola (or Chinese one), dmrshark detects that the message send was unsuccessful and retries sending your message in the opposite (in this case, Motorola) format.
- If you send the message “help” (without quotation marks) to dmrshark’s DMR ID (7777), you can get the supported command list in SMS.
- If the first word of a message to 7777 is an email address, and the other words are the message, dmrshark will send the message as an email to the given destination address.
- If you send the word “ping” to 7777, it will answer with “pong”.
- If you send the word “info” to 7777 with a callsign or DMR ID as the second word, it will give you info back about the given callsign/ID from the callsign book database.
- If you send a message to 7777 with the first word being a callsign and the rest are the message, it will be sent to the APRS-IS system as an APRS message.
- APRS message sending/receiving to and from APRS-IS
- GPS position decoding and sending to the APRS network. Both time and button triggered Hytera GPS position packets can be decoded. DMR data ack is sent after a successful GPS position packet has been decoded, so the transceivers won’t send duplicate position packets unnecessarily.
- Echo service is available on 7777, in both timeslots and both private and group calls. After the echo test ends, dmrshark will send you back your average RSSI and RMS volume values during the echo test. This echo test SMS gets sent also after a normal DMRplus echo test sent to TS2/9990.
- Most of the FEC algorithms are used not only for error checking but for error correction too. Most of the DMR protocol’s packets can be decoded and displayed in the log.
Another great book from PacktPub. The subtitle is great to give a short description on what this book is about: “Integrate sensors into your Raspberry Pi projects and let your powerful microcomputer interact with the physical world“.
It begins with an introduction to Linux, basic electronics, communication protocols, so everyone who is interested in the topic can begin tinkering, you don’t need to be an embedded Linux expert. The chapters cover very interesting topics like measuring distance using ultrasonic sensors, measuring temperature, air pressure, humidity, using a photoresistor, an A/D converter, how to process and store gathered data, and lastly how to use OpenCV for simple image processing.
I recommend this book for everyone who want to learn building something with sensors connected to the Raspberry Pi.
In the last 2 weeks I’ve been working on a software called dmrshark in my free time. It uses libpcap to analyse the traffic of a Hytera IPSC network.
It can be used for:
- Tracking calls, logging to a text file, and/or inserting them to a remote MySQL-compatible database.
- Automatic and periodic reading of repeater timeslot RSSI values during calls and also inserting them to the remote database.
- Updating a remote database table with currently active repeaters and their info (ul/dl freqs, type, fw version etc.).
- I’m planning other features as well, development hasn’t stopped of course :)
Here’s a video of an early preview version which only supported DMR packet structure decoding and logging to the text console:
I’ve translated my recent blogpost on ham-dmr.hu, so here’s some info about the Hytera RD625 DMR repeater and about setting up VoIP communications.
We’ve measured the bandwidth required for the repeater to communicate with the DMR master software to transfer one timeslot. The result is 15-17 kbit/s for both up and download directions, so the bandwidth required is about 35 kbit/sec, if there’s someone talking on one timeslot. We’ve conducted the tests using a 3G internet connection with an 8 slot length jitter buffer. The latency of our 3G connection is quite high, but the voice communication remained perfect. I’ve made a video about the tests:
Some interesting facts
- The blue LED under the D sign is on when the repeater is communicating with the master software. When the repeater connects to the master, a voice says on TS2 TG9 that the reflector 4770 got connected.
- The repeater doesn’t care about an unplugged Ethernet cable, it won’t ask for a new IP address. It doesn’t care about DHCP lease timeouts, it only asks for an IP address in DHCP mode only when we power it on.
- All 3G connections are NATted in Hungary, so there’s no external address and connection tracking for the UDP packets, so incoming packets can’t find a way to the repeater. We had the repeater plugged into a Routerboard, which had the 3G stick in it, and we created a VPN tunnel to our server and set the default gateway for that VPN connection. This way we had an external IP address and could set up our firewall to pass through UDP packets destined to the repeater.
- The repeater uses the following UDP ports: 62005 (status, heartbeat, etc.), 62006 (general traffic), 62007 (management info, RDAC)
I had two PD785Gs this evening with me so I couldn’t resist to do the glass of water test :)
Today we tested the bandwidth and the VoIP integration of the Hytera RD625. I’ve made a (Hungarian) tutorial on how to set up Asterisk, the repeater and a handheld radio to be able to make and receive VoIP calls.
We’ve got our brand new Hytera RD625 DMR repeater with a Procom filter on this Tuesday. Here’s the unboxing video:
We’ve also looked at a Puxing PX820 DMR HT:
Inserting a 3-band Diamond fiberglass antenna into an industrial antenna’s case:
Packtpub is having a day against DRM on which you can buy their DRM-free content at $10 for 24 hours only on May 6th – that’s all 2000+ eBooks and Videos at www.packtpub.com.
Just a week ago I bought a Hytera PD785G DMR (Digital Mobile Radio) handheld transceiver. Now I’m spending my free time reading about DMR, experimenting with the Hytera CPS software, and writing about DMR to my radio club’s webpage.
DMR works way beyond my expectations compared to analog radio. I can communicate on locations where my analog Yaesu VX8G can’t, and the DMR repeater’s antenna is about 100 meters lower than the analog repeater’s. Sending and receiving text messages is very fun, and I like the compressed voice of DMR’s AMBE+2 codec very much.
Recently I’ve been working on a Red5 webapp called kdrlivestream which authenticates users using a MySQL database. This will be used for live streaming my radio club’s subscription based remote courses.
Red5 has a built-in webapp called live, but it doesn’t use authentication. Everyone will be able to publish and watch streams using your private Red5 server.
kdrlivestream always authenticates publishers using usernames and passwords stored in a MySQL database.
By default, every viewer has to be authenticated too, but publishers can specify that their streams are public. Public streams can be watched without any authentication.
Optionally the webapp can periodically store active publisher and viewer info into the database (who watches and publishes what).
See more info on the project’s GitHub page!