{"id":2552,"date":"2019-06-28T15:33:11","date_gmt":"2019-06-28T15:33:11","guid":{"rendered":"http:\/\/www.daveakerman.com\/?page_id=2552"},"modified":"2022-10-12T12:24:47","modified_gmt":"2022-10-12T12:24:47","slug":"hab-padd","status":"publish","type":"page","link":"http:\/\/www.daveakerman.com\/?page_id=2552","title":{"rendered":"HAB PADD"},"content":{"rendered":"\n<p>HAB PADD is an app for Android tablets and car head units, that provides all the functions required when chasing a high altitude balloon (ideally one transmitting LoRa packets, but other modes can be integrated).  It&#8217;s similar to HAB Explora but makes use of the extra screen space to add more functions.  It offers (extra to Explora in <strong>bold<\/strong>):<\/p>\n\n\n\n<ul><li>Chase car upload to HABHUB and sondehub\/amateur<\/li><li>LoRa reception and upload, via USB or Bluetooth <strong>or Pi LoRa Gateway<\/strong><\/li><li>Backup reception of telemetry via HABHUB, <strong>Sondehub\/amateur andhab.link<\/strong><\/li><li>Reception of telemetry via UDP over WiFi<\/li><li>Transmission of received telemetry via UDP over WiFi<\/li><li>Display of telemetry<\/li><li>Display of distance and direction to payload<\/li><li>Display of map with balloon and chase positions<\/li><li> Function to display driving route on map<\/li><li>Function to provide navigation to balloon using external navigation app<\/li><li><strong>SSDV (live imaging) page<\/strong><\/li><li><strong>Audio indication of new packets<\/strong><\/li><li><strong>Audio indication of alarms<\/strong><\/li><li><strong>Speech &#8220;e.g. payload XYZ is descending&#8221;<\/strong><\/li><\/ul>\n\n\n\n<p>The app is available in the Google Play store.<\/p>\n\n\n\n<p>There are several options for local LoRa reception.  First, it can use an OTG USB connection (if supported by your device) to a simple receiver comprising a LoRa module plus microprocessor with USB port; this is now available <a href=\"https:\/\/store.uputronics.com\/index.php?route=product\/product&amp;path=61&amp;product_id=111\">in the Uputronics store<\/a>, or to build one see <a href=\"https:\/\/www.daveakerman.com\/?p=1982\">this article.<\/a>  Or it can use a Bluetooth connection to similar hardware, using a Bluetooth adapter (e.g. HC-06) connected to the Arduino, or an ESP32 board (e.g. TTGO ESP32 LoRa).  Finally, it can use one or two LoRa gateways on the same network.  In all of these cases, the LoRa parameters (frequency etc.) can be controlled from the app.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"801\" height=\"482\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-26.png\" alt=\"\" class=\"wp-image-3062\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-26.png 801w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-26-300x181.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-26-768x462.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"startup\">Startup<\/h2>\n\n\n\n<p>Install and start the program.  When it starts it will ask for permission to use the device&#8217;s location; since this is needed for almost all program functions then it&#8217;s best that you agree!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"connect-hab-receiver\">Connect HAB Receiver<\/h3>\n\n\n\n<p>For USB, connect the LoRa receiver via a USB OTG cable, taking care to connect the host end to the phone and the slave end to the receiver.  Android will ask you if you wish to allow the app to use the device (again, you do!).  Check the box so that this app is automatically started when you reconnect this USB LoRa device.<\/p>\n\n\n\n<p>For Bluetooth, you will need to pair the phone with the receiver before it can be used, and then choose the paired device under Settings &#8211;&gt; BT.  Within a few seconds the app should then connect to the Bluetooth receiver.<\/p>\n\n\n\n<p>For a LoRa Gateway, enter the IP address or hostname of the gateway device on the Settings &#8211;&gt; Gateway 1 (or 2) screen.  <em><strong>Note: <\/strong>Android will not normally work with local hostnames, however if you configure your gateway(s) to emit UDP metadata, then that data contains the gateway hostname and IP address.  You can then set the Android app to listen to the same UDP port, and when it hears that data it will match the hostname to the IP address so it can connect via that.<\/em><\/p>\n\n\n\n<p>If you have other receiving devices &#8211; LoRa or otherwise &#8211; that broadcast HAB telemetry over a network connection using UDP, then provided they use a supported format then you can tell the app to listen to them (Settings &#8211;&gt; UDP).  Supported formats include raw UKHAS telemetry, OziMux and OziPlotter formats.  The LoRa Gateway emits telemetry via UDP on port 12004 by default, so this is a good one to use.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"screen-elements\">Screen Elements<\/h2>\n\n\n\n<p>The app has 3 screen sections.  At the top is the HAB status bar with up to 3 payload buttons (gree text = good; red text = telemetry loss), plus the position of the selected payload (if you have multiple payloads, select by touching the appropriate button):<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"887\" height=\"43\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2019\/06\/image-27.png\" alt=\"\" class=\"wp-image-2556\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2019\/06\/image-27.png 887w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2019\/06\/image-27-300x15.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2019\/06\/image-27-768x37.png 768w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/><\/figure>\n\n\n\n<p>On the left is the main menu with 9 buttons. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"108\" height=\"483\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-27.png\" alt=\"\" class=\"wp-image-3063\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-27.png 108w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-27-67x300.png 67w\" sizes=\"(max-width: 108px) 100vw, 108px\" \/><\/figure>\n\n\n\n<p>The buttons are:<\/p>\n\n\n\n<ul><li>Payloads &#8211; Shows received telemetry for up to 3 payloads<\/li><li>Direction &#8211; Shows the direction and distance to the selected payload<\/li><li>Map &#8211; Embedded Google map showing balloon(s) and chase device<\/li><li>Navigate &#8211; Open an external app for on or off-road navigation to selected payload or predicted landing point.<\/li><li>SSDV &#8211; Embedded SSDV page for the current payload(s)<\/li><li>Log &#8211; Event log &#8211; e.g. &#8220;Payload PITS has launched&#8221;<\/li><li>Uplink &#8211; For sending commands to the balloon<\/li><li>Settings &#8211; Shows the various setup screens<\/li><li>Sources &#8211; Shows all of the sources of telemetry<\/li><\/ul>\n\n\n\n<p>At the bottom there&#8217;s a status bar with source status for the various HAB data sources and local GPS source, plus the local GPS position and UTC time:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"805\" height=\"32\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-28.png\" alt=\"\" class=\"wp-image-3064\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-28.png 805w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-28-300x12.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-28-768x31.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/figure>\n\n\n\n<p>This shows the status for local GPS, the 2 LoRa gateways (GW1 and GW2), USB, Bluetooth (BT), sondehub\/amateur (SH), UDP, Habhub (HH) and hab.link (HL).  The bar also shows current UTC time from the tablet&#8217;s GPS.  The circles, where present, show the upload status (Green = Good, Red = Failed, Gray = Not in use).<\/p>\n\n\n\n<p>The central area is for function-specific screens, and initially just shows a splash screen with the app version number.<\/p>\n\n\n\n<p>The area on the right shows the upload status for each online service: HH=HABHUB, HL=HabLink, SH=Sondehub\/amateur, MQ=MQTT, SS=SSDV.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"payloads\">Payloads<\/h2>\n\n\n\n<p>Up to 3 payloads can be displayed; if a 4th is heard then it will replace whichever of the other 3 has the oldest data.<\/p>\n\n\n\n<p>Each displayed payload shows the payload ID, time since last message received, UTC time of that message (as sent by the payload), latitude and longitude, altitude (with maximum altitude in brackets), ascent\/descent rate, <\/p>\n\n\n\n<p>If you do have multiple payloads then you can select between them by touching the button at the top; once done, the selected payload will be used on the direction screen and for navigation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"803\" height=\"481\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-29.png\" alt=\"\" class=\"wp-image-3066\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-29.png 803w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-29-300x180.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-29-768x460.png 768w\" sizes=\"(max-width: 803px) 100vw, 803px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"direction-screen\">Direction Screen<\/h2>\n\n\n\n<p>This screen shows the distance and direction from your location to the latest position received from the payload.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"802\" height=\"480\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-30.png\" alt=\"\" class=\"wp-image-3067\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-30.png 802w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-30-300x180.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-30-768x460.png 768w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/figure>\n\n\n\n<p>If your tablet has a magnetic compass then that will be used; if not then the GPS &#8220;heading&#8221; value will be used.  The former gives direction to the phone&#8217;s orientation; the latter gives the the phone&#8217;s direction of movement and for tor this to be accurate you need to be moving, so if you aren&#8217;t then drive or walk approx 10-20 metres in a straight line.  If the tablet isn&#8217;t reporting a heading then the compass marker will be in red, and will show the payload direction relative to North (North = straight ahead).<\/p>\n\n\n\n<p>To the right there are blocks for the payload latitude, longitude, altitude, ascent rate and TTL (Time Till Landing, filled in during descent).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"map-screen\">Map Screen<\/h2>\n\n\n\n<p>This shows an embedded Google map:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"803\" height=\"483\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-31.png\" alt=\"\" class=\"wp-image-3068\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-31.png 803w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-31-300x180.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-31-768x462.png 768w\" sizes=\"(max-width: 803px) 100vw, 803px\" \/><\/figure>\n\n\n\n<p>The map will initially centre on your location, but will then allow you to drag the map around at will.  If you wish it to remain centred on your location then touch the &#8220;Car&#8221; button; if you wish it to centre on the payload then touch the &#8220;HAB&#8221; button.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"navigation-screen\">Navigation Screen<\/h2>\n\n\n\n<p>This screen provides functions for for navigation and map directions to the payload.  First, choose the payload on the left (if not already selected), then the target type (current balloon position or predicted landing position), then the type of navigation you wish to use.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"802\" height=\"481\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-32.png\" alt=\"\" class=\"wp-image-3069\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-32.png 802w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-32-300x180.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-32-768x461.png 768w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/figure>\n\n\n\n<p>You have these choices for navigation:<\/p>\n\n\n\n<ul><li><strong>Navigate<\/strong> invokes a navigation app, and is intended for driving directions.  First time you do this Android will ask you to choose which app you want to use for navigation (e.g. Waze, Google Maps).<\/li><li><strong>Show Route<\/strong> uses an embedded (i.e. within this app) Google Map to show road directions to the payload.<\/li><li> <strong>Off Road<\/strong> is the same as Navigate, but is intended for off-road directions.  It uses a different Android &#8220;intent&#8221; which means that Android will ask again for your choice and will remember that choice separately.  So you can choose a different app e.g. Back Country Navigator or another OS mapping app.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ssdv\">SSDV<\/h2>\n\n\n\n<p>This is simply an embedded web browser showing the SSDV page for the current payload(s).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"log\">Log<\/h2>\n\n\n\n<p>This screen shows logged events, such as when the app notices that a payload has been launched or is descending.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"803\" height=\"480\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-33.png\" alt=\"\" class=\"wp-image-3070\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-33.png 803w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-33-300x179.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-33-768x459.png 768w\" sizes=\"(max-width: 803px) 100vw, 803px\" \/><\/figure>\n\n\n\n<p>Each event can be spoken out loud &#8211; see the Settings\/General page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"uplink\">Uplink<\/h2>\n\n\n\n<p>This screen can be used to send commands to trackers that have been set up to periodically listen for commands from the ground.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"804\" height=\"481\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-48.png\" alt=\"\" class=\"wp-image-3090\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-48.png 804w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-48-300x179.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-48-768x459.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/figure>\n\n\n\n<p>Choose the payload to send to on the left; these buttons are filled in automatically as they are received by the app.<\/p>\n\n\n\n<p>Choose the LoRa transceiver from the next column of buttons.  These are enabled automatically according to which transceivers are connected to the app.<\/p>\n\n\n\n<p>At top-right, choose the type of command to send.<\/p>\n\n\n\n<p>Next, set when to send the command. If your tracker is set for a listening period at the start of each minute, select the \u201cSend on n#\u2019th second\u201d option. If your tracker is set to transmit then listen for a period, choose \u201cSend after Rx\u201d.  <strong><em>Note<\/em><\/strong><em>: This section is only visible for the USB and Bluetooth sources; the LoRa Gateway program has its own settings for when to upload.<\/em><\/p>\n\n\n\n<p>If your payload needs a password to encrypt the commands, insert this.  Finally, click the &#8220;Beam This Up&#8221; button to transmit the command.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"settings\">Settings<\/h2>\n\n\n\n<p>There are 9 sections on the settings page:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"804\" height=\"78\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-35.png\" alt=\"\" class=\"wp-image-3072\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-35.png 804w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-35-300x29.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-35-768x75.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/figure>\n\n\n\n<ul><li>General &#8211; Various settings that don&#8217;t have a home elsewhere<\/li><li>GPS &#8211; Controls upload of the tablet GPS position<\/li><li>GW 1\/2 &#8211; Settings for network-connected LoRa gateways<\/li><li>USB &#8211; Settings for the attached USB LoRa receiver<\/li><li>BT &#8211; Setting for the attached Bluetooth LoRa receiver<\/li><li>UDP &#8211; Settings for listening to other receivers via UDP<\/li><li>From Web &#8211; Settings for downloads from web sources e.g. sondehub\/amateur<\/li><li>To Web &#8211; Settings for uploads to web sources e.g. sondehub\/amateur<\/li><\/ul>\n\n\n\n<p>Touch the appropriate button to enter your desired section.  Once there, make your adjustments and then touch &#8220;Apply&#8221; or &#8220;Cancel&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"general-settings\">General Settings<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"704\" height=\"398\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-39.png\" alt=\"\" class=\"wp-image-3077\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-39.png 704w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-39-300x170.png 300w\" sizes=\"(max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gps-settings\">GPS Settings<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"703\" height=\"336\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-38.png\" alt=\"\" class=\"wp-image-3076\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-38.png 703w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-38-300x143.png 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gateway-1-2\">Gateway 1\/2<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"701\" height=\"394\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-40.png\" alt=\"\" class=\"wp-image-3078\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-40.png 701w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-40-300x169.png 300w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/figure>\n\n\n\n<ul><li>&#8220;Network Address&#8221; is the IP address of the gateway (use this if it&#8217;s fixed and known) or the hostname.   <strong>Note: <\/strong>Android will not normally work with local hostnames, however if you configure your gateway(s) to emit UDP metadata, then that data contains the gateway hostname and IP address.  You can then set the Android app to listen to the same UDP port, and when it hears that data it will match the hostname to the IP address so it can connect via that.<\/li><li>&#8220;Port&#8221;is the TCP\/IP port for to connection to the gateway (normally 6004).<\/li><li>&#8220;Ch0\/1 Frequency&#8221; is the frequency to listen to for that channel (LoRa gateways can have 1 or 2 channels).<\/li><li>&#8220;Mode&#8221; is the LoRa mode from 0 to 7.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lora-usb-settings\">LoRa USB Settings<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"704\" height=\"307\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-41.png\" alt=\"\" class=\"wp-image-3079\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-41.png 704w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-41-300x131.png 300w\" sizes=\"(max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<p>&#8220;Frequency&#8221; is the centre frequency to set the receiver to.<\/p>\n\n\n\n<p>&#8220;Mode&#8221; is the LoRa mode to set from 0 to 7; most commonly 0 is used for telemetry, and 1 for SSDV with telemetry.<\/p>\n\n\n\n<p>The 2 buttons enable upload of telemetry and SSDV from the tracker, using the callsign from the Settings\/General page.  Remember to enable the web services you wish to upload to, using the &#8220;To Web&#8221; page.<\/p>\n\n\n\n<p>Sometimes the receiver and transmitter frequencies are offset by more than 4kHz which exceeds the lock range on LoRa modes 0 and 1.  The Search button will search for a payload if you cannot receive it when you think you should be able to.  It only works on mode 1 (mode 0 is too slow for this).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lora-bluetooth-settings\"> LoRa Bluetooth Settings <\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"696\" height=\"297\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-42.png\" alt=\"\" class=\"wp-image-3080\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-42.png 696w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-42-300x128.png 300w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/figure>\n\n\n\n<p>As for the USB section above, except for the addition of a &#8220;Device&#8221; box from where you can choose the paired Bluetooth device.  This pairing must be done before entering the settings screen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"udp-settings\">UDP Settings<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"694\" height=\"293\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-43.png\" alt=\"\" class=\"wp-image-3081\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-43.png 694w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-43-300x127.png 300w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<p>This section is useful if you have receivers that broadcast telemetry &#8211; for example an installation of auto_rx (Sonde receiver) or HABDEC (RTTY receiver).<\/p>\n\n\n\n<p>&#8220;Rx Port&#8221; is the port number that the app will listen telemetry toe the telemetry sent to.  to listen to several ports, separate them by commas.<\/p>\n\n\n\n<p>&#8220;Tx Port&#8221; is the port to transmit on.  Only locally received telemetry is transmitted &#8211; i.e. from USB or Bluetooth.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"from-web-settings\">From Web Settings<\/h3>\n\n\n\n<p>This configures use of the online sources of telemetry, allowing the app to fill in telemetry if you aren&#8217;t receiving it locally.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"698\" height=\"279\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-44.png\" alt=\"\" class=\"wp-image-3082\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-44.png 698w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-44-300x120.png 300w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p>&#8220;White List&#8221; is one or more payloads, separated by commas, that the app will download telemetry for, in addition to any locally received payloads.  This is useful if you do not have a receiver connected to your tablet.<\/p>\n\n\n\n<p>The &#8220;Enable&#8221; buttons enable online download of payloads listed in the white list, or any received directly via LoRa etc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"to-web\">To Web<\/h2>\n\n\n\n<p>This page controls uploading of local telemetry to various online services.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"700\" height=\"386\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-45.png\" alt=\"\" class=\"wp-image-3083\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-45.png 700w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-45-300x165.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p>The online services support are:<\/p>\n\n\n\n<ul><li>HABHUB<\/li><li>SONDEHUB (sondehub\/amateur)<\/li><li>MQTT &#8211; Any online MQTT broker to which you have access (note: websockets transport layer not supported for this).  Enter the MQTT broker address etc on the left.  In the payload topic, $PAYLOAD$ is replaced by the payload callsign, and $LISTENER$ is replaced by your callsign (general settings page).  In the chase topic, $CALLSIGN$ is replaced by the chase car callsign (GPS settings page).<\/li><li>HABLINK is my MQTT broker free for your use.  No configuration is required.  You can view the uploaded telemetry by connecting to hab.link:1883 with no username\/password, and subscribing to payloads\/#, and to the chase car position by subscribing to chase\/#.  MQTT Explorer is a nice application for doing this.<\/li><li>SSDV is for uploading images.<\/li><\/ul>\n\n\n\n<p>Remember that you also need to enable uploads from each source &#8211; GPS, USB, Bluetooth, according to your requirements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sources\">Sources<\/h2>\n\n\n\n<p>To see the status of the data sources, touch the status bar on any of the source buttons (USB\/Habitat\/GPS etc).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"804\" height=\"483\" src=\"https:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-46.png\" alt=\"\" class=\"wp-image-3085\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-46.png 804w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-46-300x180.png 300w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2022\/10\/image-46-768x461.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/figure>\n\n\n\n<p>If you wish to change the settings for one of these sources, touch the source label e.g. &#8220;USB&#8221; and you will be taken directly to the settings page for that source.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"notes\">Notes<\/h2>\n\n\n\n<p>If you want to change which apps are invoked from the Directions screen, go to Android Settings &#8211;&gt; Apps, choose the existing app, then choose &#8220;Open by default&#8221;, then &#8220;Clear defaults&#8221;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HAB PADD is an app for Android tablets and car head units, that provides all the functions required when chasing a high altitude balloon (ideally one transmitting LoRa packets, but other modes can be integrated). It&#8217;s similar to HAB Explora but makes use of the extra screen space to add [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2672,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/pages\/2552"}],"collection":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2552"}],"version-history":[{"count":11,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/pages\/2552\/revisions"}],"predecessor-version":[{"id":3092,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/pages\/2552\/revisions\/3092"}],"up":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/pages\/2672"}],"wp:attachment":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}