CC1352P-2 via serial (ESP8266) - failed to connect

Dear fellow Z2M users,

I need some help to make the newly received CC1352P-2 work remotely via serial with a connected esp8266.

The CC1352P-2 is flashed with the latest firmware (CC1352P_2_20200312.hex) and works when directly connected to a synology - at least zigbee2mqtt starts and finds the CC1352.

For various reasons I’d like to make it work over serial, at least for now, and set up an esp8266 as described in the z2m docs: ESPEasy with serial server device, connected the CC1352 (ESP TX -> DIO12, ESP RX -> DIO13, ESP VCC -> 3.3V, ESP GND -> GND). I also removed the TX and RX jumpers on the CC1352. Z2M port is configured to ‘tcp://192.168.207.83:1888’, rtscts=false. The CC1352 is powered via USB cable (charger), the esp8266 is powered from the CC1352 pins (3.3V).

I’m able to establish a connection via telnet, but don’t receive any data. When starting Z2M, I get the following in the log:

zigbee2mqtt:info  2020-04-05 12:06:11: Starting zigbee2mqtt version 1.12.0-dev (commit #3ef7555)
winston:file written true false
zigbee2mqtt:info  2020-04-05 12:06:11: Starting zigbee-herdsman...
winston:file written true false
zigbee2mqtt:debug 2020-04-05 12:06:11: Using zigbee-herdsman with settings: '{"network":{"panID":6755,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11],"networkKey":"HIDDEN"},"databasePath":"/app/data/database.db","databaseBackupPath":"/app/data/database.db.backup","backupPath":"/app/data/coordinator_backup.json","serialPort":{"baudRate":115200,"rtscts":false,"path":"tcp://192.168.207.83:1888"},"adapter":{"concurrent":null}}'
winston:file written true false
  serialport/bindings loading LinuxBinding +0ms
  serialport/stream .list +0ms
winston:file logged 85 info  2020-04-05 12:06:11: Starting zigbee2mqtt version 1.12.0-dev (commit #3ef7555)

winston:file logged 140 info  2020-04-05 12:06:11: Starting zigbee-herdsman...

winston:file logged 577 debug 2020-04-05 12:06:11: Using zigbee-herdsman with settings: '{"network":{"panID":6755,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11],"networkKey":"HIDDEN"},"databasePath":"/app/data/database.db","databaseBackupPath":"/app/data/database.db.backup","backupPath":"/app/data/coordinator_backup.json","serialPort":{"baudRate":115200,"rtscts":false,"path":"tcp://192.168.207.83:1888"},"adapter":{"concurrent":null}}'

winston:file file open ok data/log/2020-04-05.12-06-10/log.txt
  zigbee-herdsman:controller:log Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":[37,144,6,222,52,17,32,164,162,241,0,75,88,197,12,134],"panID":6755,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11]},"serialPort":{"baudRate":115200,"rtscts":false,"path":"tcp://192.168.207.83:1888"},"databasePath":"/app/data/database.db","databaseBackupPath":"/app/data/database.db.backup","backupPath":"/app/data/coordinator_backup.json","adapter":{"concurrent":null}}' +0ms
  zigbee-herdsman:adapter:zStack:znp:log Opening TCP socket with 192.168.207.83:1888 +0ms
  zigbee-herdsman:adapter:zStack:znp:log Socket connected +78ms
  zigbee-herdsman:adapter:zStack:znp:log Socket ready +0ms
  zigbee-herdsman:adapter:zStack:znp:log Writing skip bootloader payload +1ms
  zigbee-herdsman:adapter:zStack:unpi:writer --> buffer [239] +0ms
  zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1} +0ms
  zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32] +1s
zigbee2mqtt:error 2020-04-05 12:06:18: Error while starting zigbee-herdsman
winston:file written true false
zigbee2mqtt:error 2020-04-05 12:06:18: Failed to start zigbee
winston:file written true false
zigbee2mqtt:error 2020-04-05 12:06:18: Exiting...
winston:file written true false
zigbee2mqtt:error 2020-04-05 12:06:18: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.<anonymous> (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:71:23)
    at Generator.throw (<anonymous>)
    at rejected (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:6:65)
winston:file written true false

It looks like a connection is established, but then I get the dreaded “Failed to connect to adapter”.

  • Was anybody able to make this (esp8266 + cc1352) work?
  • What should I see when connection via telnet ? Is there an other way to test the remote connection ?
  • Is this correct: the pins of the cc1352 are 3.3V, no logic level converter is needed between the cc1352 and the esp8266 ?

I’d be thankul for any pointers to make the serial connection work.

Kind regards,
Markus

Little question : where is the link with the documentation to connect a CC1352P-2 with an esp ?

There’s no documentation for this exact combination. There is documentation for connection an esp8266 to a cc2530: https://www.zigbee2mqtt.io/information/connecting_cc2530.html#via-an-esp8266

And there is at least someone who connected the very similar CC2652R to a serial-to-ethernet connector: https://github.com/Koenkk/zigbee2mqtt/issues/1429#issuecomment-596951820

Ok, that’s why I did not find anything. It it the only thing that keeps me changing to one of the newer boards. My CC2530/CC2591/ESP01 combination is in the middle of the house, if I have one of the newer boards I have to move it again to the back of the house where my PI’s are.

To follow up on this, just in case somebody else is going down the same route:

I was able to connect the CC1352P-2 with a serial2ethernet converter, the CC1352 being powered via USB with an POE splitter, and the S2E converter from the pins of the CC1352 board (3.3V).

I didn’t need a logic level converter (S2E running on 3.3V).

Important bits of the zigbee2mqtt configuration:

serial:
  port: 'tcp://192.168.1.99:20108'
advanced:
  pan_id: 6757
  baudrate: 115200
  rtscts: false

Use the IP and the local port of the S2E converter to configure the serial port, and set rtscts to false. Also, pan_id must be changed from what was used before.

At some point, I deleted database.db and had to repair all devices. I’m not sure if it is possible to upgrade without repairing.

Most important: I’m running zigbee2mqtt in docker on a synology, and only the dev release of zigbee2mqtt was able to connect over tcp! Other releases (latest) complained about not finding a device on /dev/tty... and shut down.

This setup is working now for about week and seems to be stable. I didn’t yet reconnect the 2 ikea zigbee repeaters nor the diy CC2530 router (https://www.zigbee2mqtt.io/how_tos/how_to_create_a_cc2530_router.html), it looks like this is not necessary anymore.

I’m pretty sure this would also work with the Esp8266+espEasy over wifi. Key for me was to make it first work on a local zigbee2mqtt instance before making it work with docker.

Hope this may help someone.

1 Like