Commit Graph
79 Commits
Author SHA1 Message Date
geeksville 46f876c13e Merge branch 'master' into dev 2020-09-25 15:06:14 -07:00
Tim Gunter 705c9e9e9e Added "seturl" option to main app 2020-09-20 11:06:41 +01:00
geeksville d789bff9cb WIP - adding TCP client, still need to use recv/send instead of read/write 2020-09-19 12:53:19 -07:00
geeksville e4a424ccee support new --set factory_reset true preferences option 2020-09-19 11:19:03 -07:00
geeksville dd45429576 fix #20 - allow setting binary arrays (i.e. psk) with strings of hex digits 2020-09-18 10:05:49 -07:00
geeksville edc366c2a5 improve docs 2020-09-17 16:24:27 -07:00
geeksville 653c31e1dc #18 only control RTS on OS-X 2020-09-16 10:04:56 -07:00
Kevin Hester 9642dd0817 Merge pull request #17 from timgunter/patch-1
Possible typo?
2020-09-16 09:54:00 -07:00
geeksville 8c86a49b63 fix #18 reset button was disabled
ooh this one was super interesting.  I was able to repro from your great description.  The problem was that leaving rts low was disabling the reset button on the board.  So I think the only fix needed was to raise rts high before we close the port.

Meshtastic-python$ bin/run.sh --setstr wifi_ssid "asdf" --debug
rm: cannot remove 'log_*': No such file or directory
DEBUG:root:Connecting to /dev/ttyUSB0
DEBUG:root:Sending: want_config_id: 42

Trigger powerFSM 9
DEBUG:root:Received: {'myInfo': {'myNodeNum': 2883444536, 'hasGps': True, 'numChannels': 13, 'region': 'unset', 'hwModel': 'tbeam', 'firmwareVersion': 'unset', 'packetIdBits': 32, 'currentPacketId': 380285744, 'nodeNumBits': 32, 'messageTimeoutMsec': 300000, 'minAppVersion': 172}}
DEBUG:root:Received: {'radio': {'preferences': {'positionBroadcastSecs': 900, 'sendOwnerInterval': 4, 'waitBluetoothSecs': 120, 'screenOnSecs': 300, 'phoneTimeoutSecs': 900, 'phoneSdsTimeoutSec': 7200, 'meshSdsTimeoutSecs': 7200, 'sdsSecs': 31536000, 'lsSecs': 3601, 'wifiSsid': 'asdf'}, 'channelSettings': {'modemConfig': 'Bw125Cr48Sf4096', 'psk': '1PG7OiApB1nwvP+rz05pvw==', 'name': 'Default'}}}
DEBUG:root:Received: {'nodeInfo': {'num': 2883444536, 'user': {'id': '!2462abdddf38', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JGKr3d84'}, 'position': {'batteryLevel': 100, 'time': 315965514}}}
DEBUG:root:Received: {'nodeInfo': {'num': 682754228, 'user': {'id': '!246f28b200b4', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JG8osgC0'}, 'position': {'batteryLevel': 79, 'time': 316593914}, 'snr': 9.5}}
DEBUG:root:Received: {'nodeInfo': {'num': 2441803616, 'user': {'id': '!5002918af760', 'longName': 'ryan', 'shortName': 'r', 'macaddr': 'UAKRivdg'}, 'position': {'batteryLevel': 61, 'time': 316497304}, 'snr': 10.0}}
DEBUG:root:Received: {'nodeInfo': {'num': 862631397, 'user': {'id': '!c44f336ab5e5', 'longName': 'Unknown b5e5', 'shortName': '?E5', 'macaddr': 'xE8zarXl'}, 'position': {'time': 1597965319}, 'snr': 13.25}}
DEBUG:root:Received: {'nodeInfo': {'num': 2441803548, 'user': {'id': '!5002918af71c', 'longName': 'Unknown f71c', 'shortName': '?1C', 'macaddr': 'UAKRivcc'}, 'position': {'batteryLevel': 47, 'time': 316494981}, 'snr': 9.5}}
DEBUG:root:Received: {'nodeInfo': {'num': 82599254, 'user': {'id': '!fd1004ec5d56', 'longName': 'Unknown 5d56', 'shortName': '?56', 'macaddr': '/RAE7F1W'}, 'position': {}, 'snr': 9.25}}
DEBUG:root:Received: {'nodeInfo': {'num': 2885173400, 'user': {'id': '!2462abf84098', 'longName': 'Unknown 4098', 'shortName': '?98', 'macaddr': 'JGKr+ECY'}, 'position': {'batteryLevel': 4, 'time': 315966200}, 'snr': 10.75}}
DEBUG:root:Received: {'configCompleteId': 42}
Connected to radio
Setting preference wifi_ssid to asdf
Writing modified preferences to device
DEBUG:root:Sending: set_radio {
  preferences {
    position_broadcast_secs: 900
    send_owner_interval: 4
    wait_bluetooth_secs: 120
    screen_on_secs: 300
    phone_timeout_secs: 900
    phone_sds_timeout_sec: 7200
    mesh_sds_timeout_secs: 7200
    sds_secs: 31536000
    ls_secs: 3601
    wifi_ssid: "asdf"
  }
  channel_settings {
    modem_config: Bw125Cr48Sf4096
    psk: "\324\361\273: )\007Y\360\274\377\253\317Ni\277"
    name: "Default"
  }
}

DEBUG:root:Closing serial stream
DEBUG:root:reader is exiting
2020-09-16 09:39:45 -07:00
Tim Gunter 4bfa50e3c1 Possible typo?
Should these "self.rfBuf"s be "self._rxBuf"s?
2020-09-16 09:34:02 -07:00
geeksville 73cae01c32 add --qr to show qr code 2020-09-15 17:51:15 -07:00
geeksville 1214482ccf 1.0.6 add a channelURL property
Example usage:
```
meshtastic --setchan tx_power 100 --info
Trigger powerFSM 9
Connected to radio
Setting channel parameter tx_power to 100
Writing modified preferences to device
my_node_num: 2883444536
has_gps: true
num_channels: 13
region: "1.0-US"
hw_model: "tbeam"
firmware_version: "1.0.0"
packet_id_bits: 32
current_packet_id: 816090843
node_num_bits: 32
message_timeout_msec: 300000
min_app_version: 172

preferences {
  position_broadcast_secs: 900
  send_owner_interval: 4
  wait_bluetooth_secs: 120
  screen_on_secs: 300
  phone_timeout_secs: 900
  phone_sds_timeout_sec: 7200
  mesh_sds_timeout_secs: 7200
  sds_secs: 31536000
  ls_secs: 3601
}
channel_settings {
  tx_power: 100
  modem_config: Bw125Cr48Sf4096
  psk: "\324\361\273: )\007Y\360\274\377\253\317Ni\277"
  name: "Default"
}

Channel URL https://www.meshtastic.org/c/#CGQYAyIQ1PG7OiApB1nwvP-rz05pvyoHRGVmYXVsdA==
Nodes in mesh:
{'num': 2883444536, 'user': {'id': '!2462abdddf38', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JGKr3d84'}, 'position': {'batteryLevel': 100, 'time': 315969731}}
{'num': 682754228, 'user': {'id': '!246f28b200b4', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JG8osgC0'}, 'position': {'batteryLevel': 79, 'time': 316593914}, 'snr': 9.5}
{'num': 2441803616, 'user': {'id': '!5002918af760', 'longName': 'ryan', 'shortName': 'r', 'macaddr': 'UAKRivdg'}, 'position': {'batteryLevel': 61, 'time': 316497304}, 'snr': 10.0}
{'num': 862631397, 'user': {'id': '!c44f336ab5e5', 'longName': 'Unknown b5e5', 'shortName': '?E5', 'macaddr': 'xE8zarXl'}, 'position': {'time': 1597965319}, 'snr': 13.25}
{'num': 2441803548, 'user': {'id': '!5002918af71c', 'longName': 'Unknown f71c', 'shortName': '?1C', 'macaddr': 'UAKRivcc'}, 'position': {'batteryLevel': 47, 'time': 316494981}, 'snr': 9.5}
{'num': 82599254, 'user': {'id': '!fd1004ec5d56', 'longName': 'Unknown 5d56', 'shortName': '?56', 'macaddr': '/RAE7F1W'}, 'position': {}, 'snr': 9.25}
{'num': 2885173400, 'user': {'id': '!2462abf84098', 'longName': 'Unknown 4098', 'shortName': '?98', 'macaddr': 'JGKr+ECY'}, 'position': {'batteryLevel': 4, 'time': 315966200}, 'snr': 10.75}
```
2020-09-15 17:32:09 -07:00
geeksville 6f942c282d add a --setchan option for setting channel parameters 2020-09-15 17:11:23 -07:00
geeksville be8c654eea 1.0.5 fix #14, let users set bool,float or string params.
Example usage:

Or to configure an ESP32 based board to join a wifi network as a station (wifi support in the device code is coming soon):

```
meshtastic --set wifi_ap_mode false --setstr wifi_ssid mywifissid --setstr wifi_password mywifipsw
```

Or to configure an ESP32 to run as a Wifi access point:

```
meshtastic --set wifi_ap_mode true --setstr wifi_ssid mywifissid --setstr wifi_password mywifipsw
```
2020-09-15 09:28:54 -07:00
geeksville e485af752b OS-X was rebooting devices on connect, force RTS false
(RTS is connected to ESP32 reset).  Thanks to @mc-hamster for this fix!
2020-09-12 12:31:05 -07:00
geeksville cc01bc8f72 generate a clear error message if someone sends before we have nodedb 2020-09-11 12:35:43 -07:00
geeksville 2896073982 fix example code 2020-09-11 12:08:06 -07:00
geeksville 6942677b85 1.0.2 update example and handle serial disconnection gracefully 2020-09-11 11:08:16 -07:00
geeksville cb6f7097c2 fix #12 "meshtastic --sendtext fish --dest '!2462abf84098'" now works 2020-09-08 09:58:23 -07:00
Jm Casler 69eac1a6d0 Update __main__.py 2020-08-31 21:10:34 -07:00
geeksville 331b83a95d fix #8 - set packet IDs 2020-08-18 15:25:43 -07:00
geeksville 0c9c8bca57 Fix #7: Properly decode OPAQUE binary packets...
and add binary sending to the integration tests
2020-08-11 18:16:57 -07:00
geeksville 9da57e2d12 0.9.1 make it possible to see seriallog while sending text commands
for https://github.com/meshtastic/Meshtastic-python/issues/5
2020-08-02 13:20:17 -07:00
geeksville 2800366319 update to latest protos 2020-07-05 22:10:02 -07:00
geeksville 32f3c504d9 0.7.9 add sendPosition(lat, lng, alt) method also...
Use this method for the --settime command line flag - which sets the device
time to be the same as the local computers time (in UTC)

    def sendPosition(self, latitude=0.0, longitude=0.0, altitude=0, timeSec=0, destinationId=BROADCAST_ADDR, wantAck=False, wantResponse=False):
        """
        Send a position packet to some other node (normally a broadcast)

        Also, the device software will notice this packet and use it to automatically set its notion of
        the local position.

        If timeSec is not specified (recommended), we will use the local machine time.
        """
2020-07-05 12:01:35 -07:00
geeksville 2c82e5f420 remove elipsis 2020-06-26 15:58:02 -07:00
geeksville 995f1fdce0 don't complain about nodes with no user 2020-06-26 15:50:10 -07:00
geeksville 8fe323f7fe allow passing multiple --setpref args in a single run 2020-06-26 15:42:48 -07:00
geeksville cb4ec62662 oops sorry @nicetechguy, fix #2. in scripting languages without static
validation, gotta check all execution paths before checking in ;-)
2020-06-17 19:34:53 -07:00
geeksville 8ff5fc0e4c Fix #2 - update nodedb when we receive user or permission 2020-06-17 17:16:55 -07:00
geeksville 5908902e46 send wakeup chars to wake sleeping devices before talking to them
per https://github.com/meshtastic/Meshtastic-device/issues/115
2020-06-10 15:37:23 -07:00
geeksville e2a037ef1e add --noproto option for not using the protocol at all 2020-06-09 18:19:37 -07:00
geeksville 747328c8f7 Updates to work with 32 bit nodenums 2020-06-06 13:12:40 -07:00
geeksville 830338b20b allow devices to veto this app if we are too old 2020-06-06 11:53:19 -07:00
geeksville 31b52d26c3 update protobufs 2020-06-06 10:12:44 -07:00
geeksville 94175874f0 0.5.4 optionally add want_response to text message sends (see example):
meshtastic --debug --sendtext hello

attn @claesg
2020-05-22 10:57:54 -07:00
geeksville 8a195430b9 don't accidentally open segger jlink devices 2020-05-21 21:29:38 -07:00
geeksville f73dea44b6 cope with nodes that don't have positions 2020-05-21 21:15:19 -07:00
geeksville 1be79f1d63 add note saying BLE is not ready for prime time. 2020-05-20 17:18:00 -07:00
geeksville 97017c3a99 defalt to reliable msgs 2020-05-20 17:03:49 -07:00
geeksville 54a64d18c5 stress testing new reliable messaging 2020-05-19 15:50:37 -07:00
geeksville 7307a3c716 auto decode text payloads 2020-05-19 15:23:52 -07:00
geeksville 6d3c34878b fix db updates 2020-05-12 18:16:35 -07:00
geeksville 0f6f791d14 fix --info 2020-05-12 17:38:56 -07:00
geeksville 39872ee86b put BLE experiment on back burner 2020-05-12 17:20:12 -07:00
geeksville 8af99477bb begin BLE support 2020-05-12 13:54:11 -07:00
geeksville bfa2d97e43 support new protobufs 2020-05-12 11:00:11 -07:00
geeksville 53e9fae39f update protos 2020-05-04 21:26:35 -07:00
geeksville 5617d7f808 make --sendtext command work 2020-05-03 20:32:54 -07:00
geeksville dbbf14c4bf add commandline option for setting radio configs 2020-05-03 20:14:11 -07:00