{"id":1178,"date":"2020-08-27T20:51:34","date_gmt":"2020-08-28T03:51:34","guid":{"rendered":"https:\/\/www.casler.org\/wordpress\/?p=1178"},"modified":"2020-09-19T20:41:37","modified_gmt":"2020-09-20T03:41:37","slug":"meshtastic-mchamsters-user-guide","status":"publish","type":"post","link":"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/","title":{"rendered":"Meshtastic &#8211; McHamster&#8217;s WiFi User Guide"},"content":{"rendered":"<p>Meshtastic is a fairly new Open Source project. This user manual is going to be updated as I go through and explore the possibilities of the technology.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69e7597fcb9d7\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69e7597fcb9d7\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Introduction\" >Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Device\" >Device<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Troubleshooting\" >Troubleshooting<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Development_Environment\" >Development Environment<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#WiFi\" >WiFi<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Configuration_via_Python_API\" >Configuration via Python API<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Configuration_Examples\" >Configuration Examples<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Status_Screen\" >Status Screen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#WiFi_Firmware_Builds\" >WiFi Firmware Builds<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#Known_Problems\" >Known Problems<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#REST_Endpoints\" >REST Endpoints<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#jsonchathistorychannel\" >\/json\/chat\/history\/channel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#jsonchatsendchannel\" >\/json\/chat\/send\/channel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.casler.org\/wordpress\/meshtastic-mchamsters-user-guide\/#jsonstats\" >\/json\/stats<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>&nbsp;<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Device\"><\/span>Device<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Troubleshooting\"><\/span>Troubleshooting<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img class=\"aligncenter\" \/><\/p>\n<p><img class=\"aligncenter\" \/><\/p>\n<p>Connect the Meshtasic Device to your computer and open a Serial Terminal to the device at 921600 8-N-1.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Development_Environment\"><\/span>Development Environment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Easiest way to get started is to follow the <a href=\"https:\/\/github.com\/meshtastic\/Meshtastic-device\/blob\/master\/docs\/software\/build-instructions.md#gui\">Meshtastic Device Build Instructions<\/a>.<\/p>\n<p>The instructions linked above work well but were probably written for someone on Windows. If you&#8217;re on a Mac, the first few steps should be &#8230;<\/p>\n<ol>\n<li>Purchase a suitable <a href=\"https:\/\/github.com\/meshtastic\/Meshtastic-device\/wiki\/Hardware-Information\">radio<\/a>.<\/li>\n<li>Install <a href=\"https:\/\/apps.apple.com\/us\/app\/xcode\/id497799835?mt=12\">xCode<\/a>\u00a0(This will give you a supported version of Git).<\/li>\n<li>Reboot your computer.<\/li>\n<li>Install <a href=\"https:\/\/platformio.org\/platformio-ide\" rel=\"nofollow\">PlatformIO<\/a>.<\/li>\n<\/ol>\n<p>&#8230; then the rest of the instructions from the project are spot on.<\/p>\n<p>&nbsp;<\/p>\n<h1><span class=\"ez-toc-section\" id=\"WiFi\"><\/span>WiFi<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>&nbsp;<\/p>\n<p>WiFi Support can be configured as either a WiFi Client or a Software Access Point (SoftAP). The WiFi Client will connect to your existing WiFi Network while the SoftAP will broadcast a new SSID and Password.<\/p>\n<p>With the SoftAP turned, a DNS server will also be enabled. The DNS server will respond to all DNS requests with the IP address of your device. This will simplify device discovery because you will not have to remember the device&#8217;s IP &#8212; any unencrypted HTTP request will direct you to the right location.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Configuration_via_Python_API\"><\/span>Configuration via Python API<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Until the Native Android Application supports the ability to configure the WiFi settings, the only way to save your configuration into the device is with the Meshtastic Python API. Download and install the Python API for your system by following the instructions here:<\/p>\n<ul>\n<li><a href=\"https:\/\/pypi.org\/project\/meshtastic\/\">https:\/\/pypi.org\/project\/meshtastic\/<\/a><\/li>\n<\/ul>\n<p>NOTE: The Meshtastic Python API currently has a bug which prevents it from working properly on MacOS. If you have a Mac, the work around for now is to use another computer or run Linux from within a Virtual Machine. I use <a href=\"https:\/\/www.vmware.com\/products\/fusion.html\">VMware Fusion<\/a>\u00a0 with <a href=\"https:\/\/releases.ubuntu.com\/20.04\/\">Ubuntu 20.04<\/a> for this and it works great.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Configuration_Examples\"><\/span>Configuration Examples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<ul>\n<li>Set the WiFi SSID &amp; Password as a WiFi Client:\n<ul>\n<li>\n<pre><code>meshtastic --set wifi_ap_mode false --setstr wifi_ssid mywifissid --setstr wifi_password mywifipsw<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Set the WiFi SSID &amp; Password with the SoftAP enabled:\n<ul>\n<li>\n<pre><code>meshtastic --set wifi_ap_mode true --setstr wifi_ssid mywifissid --setstr wifi_password mywifipsw<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Disable WiFi:\n<ul>\n<li>\n<pre><code>meshtastic --set wifi_ap_mode false --setstr wifi_ssid \"\" --setstr wifi_password \"\"<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><\/h2>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Status_Screen\"><\/span>Status Screen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p>The status of the WiFi connection, IP address and network information will be displayed on the oled screen.<\/p>\n<h2><a href=\"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1194\" src=\"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-scaled.jpg 2560w, https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-768x576.jpg 768w, https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-1536x1152.jpg 1536w, https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-2048x1536.jpg 2048w, https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0087-500x375.jpg 500w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/a><\/h2>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"WiFi_Firmware_Builds\"><\/span>WiFi Firmware Builds<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p>Links to firmware builds:<\/p>\n<ul>\n<li>asdf<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Known_Problems\"><\/span>Known Problems<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p>List of known problems:<\/p>\n<ol>\n<li>asdf<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h1><span class=\"ez-toc-section\" id=\"REST_Endpoints\"><\/span>REST Endpoints<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>&nbsp;<\/p>\n<div>\n<div>\n<div>\n<h2><span class=\"ez-toc-section\" id=\"jsonchathistorychannel\"><\/span>\/json\/chat\/history\/channel<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/div>\n<\/div>\n<div><\/div>\n<div>Receive the chat history on a channel.<\/div>\n<div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"jsonchatsendchannel\"><\/span>\/json\/chat\/send\/channel<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/div>\n<div><\/div>\n<div>Send a message onto a channel.<\/div>\n<div>\n<div><\/div>\n<\/div>\n<div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"jsonstats\"><\/span>\/json\/stats<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div><\/div>\n<div>Retrieve some device statistics.<\/div>\n<div><\/div>\n<div>Ideas:<\/div>\n<div><\/div>\n<div>rssi<\/div>\n<div>ip address<\/div>\n<div>time on<\/div>\n<div>number of network reconnection attempts<\/div>\n<div>anything else?<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Meshtastic is a fairly new Open Source project. This user manual is going to be updated as I go through and explore the possibilities of the technology. Introduction &nbsp; Device &nbsp; Troubleshooting Connect the Meshtasic Device to your computer and open a Serial Terminal to the device at 921600 8-N-1. &nbsp; Development Environment Easiest way to get started is to&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wprm-recipe-roundup-name":"","wprm-recipe-roundup-description":"","footnotes":""},"categories":[15],"tags":[],"class_list":["post-1178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iot"],"gutentor_comment":0,"jetpack_featured_media_url":"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/08\/IMG_0049.jpeg","_links":{"self":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/posts\/1178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/comments?post=1178"}],"version-history":[{"count":0,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/posts\/1178\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/media\/1179"}],"wp:attachment":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/media?parent=1178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/categories?post=1178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/tags?post=1178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}