Rezvan
Rezvan

Reputation: 11

how to use tls protocol on nodemcu lua

I 'm working on esp8266 module these days. The firmware on this module is nodemcu 0.9.6 and its language is lua. I use mqtt protocol for my project and it works well.But TLS is necessary. I don't know how to set tls on this firmware. I 've searched but documents about TLS on nodemcu website is not enough for me.

I know that I should use this instruction at connection time to broker:

m:connect(BROKER, 8883, 1 , function ( connection ) ... end ) 

and to put the CA file on module i should use something like this:
enter image description here

that 's what i read from nodemcu website --> https://nodemcu.readthedocs.io/en/master/en/modules/net/#netcertverify

but the problem is when i use this on my code the module doesn't understand it and gives error at upload time and runtime.
is this problem because of the version of my firmware? Upgrading will make it? Or I am just doing something wrong on my code? I haven't seen sample code about putting CA file on module in other project so I guess my work is wrong.
if you have worked on TLS ( on nodemcu firmware ) I would be happy by your helps.

Upvotes: 0

Views: 2417

Answers (2)

Lakmal Premaratne
Lakmal Premaratne

Reputation: 1229

Take a look at this question and read through comments of the answer.

You may have to get esp_init_data_default.bin from latest sdk.

I used esptool.

esptool.py --port <PORT> write_flash -fm dio -fs 32m 0x00000 <BIN_PATH_AND_FILENAME> 0x3fc000 <PATH\>esp_init_data_default.bin

Please do upvote this post if you find it is useful. Thumbs up for @MarcelStör.

Upvotes: 0

Marcel St&#246;r
Marcel St&#246;r

Reputation: 23535

  • Build a recent firmware with SSL/TLS enabled.
  • Flash the binary to upgrade. Make sure all flashing parameters are exactly as documented and include the init data binary.

The rest of your code seems fine.

Upvotes: 2

Related Questions