Hi,
I am intending to convert the ascii.txt file into the hexadecimal and I used the following code (micropython) in Lopy4 which has ESP32;
import binascii
ascii = 'ascii.txt'
with open(ascii, 'rb') as f:
content = f.read()
data = binascii.hexlify(content)
print(data)
But I am getting the following error when I run the code
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
OSError: [Errno 2] ENOENT
>
Pycom MicroPython 1.18.2.r6 [v1.8.6-849-a210e85] on 2019-05-13; LoPy4 with ESP32
Type "help()" for more information.
>>>
However, when I run the above code in the Pycharm IDE, I did get the result as attached which I feel I got the result.
Can anyone help me what did I do wrong in the Lopy4 which has ESP32 using micropython and how do I rectify the error shown above please.
Thank you
OSError: [Errno 2] ENOENT
Re: OSError: [Errno 2] ENOENT
ENOENT means file not found. What is the size of ascii.txt? The way you code it has to fit in RAM, and the converted data too.
-
- Posts: 6
- Joined: Tue Aug 27, 2019 2:33 am
Re: OSError: [Errno 2] ENOENT
The file ascii.txt is only 1Kb and it was located in the same folder. In fact I did not upload the main.py code as well as the ascii.txt in the flash. Is it because of that?
Thank you
Thank you
Re: OSError: [Errno 2] ENOENT
Ok. You get the ENOENt error because there is no main.py on the board. You can ignore that error. To run your code, assuming it is in a file called to_hex.py, you have to type at the REPL:
import to_hex
you may also run that from a main.py file, which is executed at every boot.
import to_hex
you may also run that from a main.py file, which is executed at every boot.
-
- Posts: 6
- Joined: Tue Aug 27, 2019 2:33 am
Re: OSError: [Errno 2] ENOENT
Thank you @ roberthh. (Apology for the long gap and again bringing this topic) I could upload the main.py and boot.py with ascii.txt file to the lopy4 flash and the program could run and i can see the print executed.
My code below:
i
Actually I intend to send the package with some delay through lora from lopy4 and retrieve the package in lora gateway. I am trying to struct.pack the package and send with defined socket. I am new to the micropython in fact, Could you help me guide in these?
Thank you in advance.
My code below:
i
Code: Select all
mport binascii
import struct
ascii = 'SIGN.txt'
with open(ascii, 'rb') as f:
content = f.read()
data = binascii.hexlify(content)
print(binascii.hexlify(content))
print(content)
print(data)
l = len(data)
print (l)
hex_string = binascii.unhexlify(data)
print (hex_string)
print (len (hex_string))
for l in range (0, l, 10):
package = data[1:l+10]
print (package)
Thank you in advance.
Re: OSError: [Errno 2] ENOENT
First of all, for anything related to LoPy4 you should better ask at the Pycom forum https://forum.pycom.io/.
Besides that, for sending data with Lora, you do not have to convert it to ASCII-Hex. In fact, due to the low Lora data rate, it would make things worse. The transmission time is doubled. For examples on using Lora, you can follow the documenattaion, which is linked on the Pycom forum webs site..
Besides that, for sending data with Lora, you do not have to convert it to ASCII-Hex. In fact, due to the low Lora data rate, it would make things worse. The transmission time is doubled. For examples on using Lora, you can follow the documenattaion, which is linked on the Pycom forum webs site..
-
- Posts: 6
- Joined: Tue Aug 27, 2019 2:33 am
Re: OSError: [Errno 2] ENOENT
Thank you for the information @ roberthh.