Nano。1. #### 配置中文输入法
Jetson Nano自带ibus中文输入法,需要进行基本的配置,参考:中文输入法ibus配置 (opens new window)。
# 2.1 安装文件ibus-pinyin
sudo apt-get install ibus-pinyin
# 2.2 系统设置
在系统设置中,双击"language support";点击“install / remove language…”,选择简体中文,输入密码,此时系统会进行更新,大约几分钟;将汉语(中国)拖到最上端;点击Apply System-Wide,并将keyboard input method system下拉选框选ibus。
# 2.3 ibus设置
终端下输入ibus-setup
,在弹框中添加Pinyin,并使用ibus restart
重启ibus。
ibus-setup
ibus restart
# 2.4 重启电脑
sudo reboot
# 有符号16进制数转化为10进制
如果前提说了,用带符号表示这个数。第一个字符小于8为正,大于等于8(即8到F)为负。
def signed_base10(data, width): ''''有符号16进制转化为10进制 Args: data: 有符号16进制字符串 width: 该16进制数所占的位数 Returns: 10进制数 ''' if(int(data[0], 16) >= 8): data = 'F'*int(width/8) + data data = int(data, 16) data = 2 ** width - data return -data else: return int(data, 16)
# 通过PC直连Nano开发板
# 1.1 共享网络与远程控制
1)将PC的网线口与Jetson Nano的网线口通过网线连接
2)在控制面板中打开“更改适配器设置”,右击通路网络,在属性中将其共享给Nano连接网络。
3)在Windows中通过
arp -a
命令查看Nano网络的IP地址,即可使用该IP地址进行远程操作,本次测试的时候是192.168.137.224
。备注:a)在第2步的时候,Nano网络属性的网关地址通常自动设置为了
192.168.137.1
,如果没有设置成功,需要手动设置;b)也可以通过TTL转USB进行串口连接访问开发板,从而省去了网络连接的步骤,待尝试。# 1.2 远程桌面
上述操作只能进行命令行操作,远程桌面则需要通过VNC软件
# 通过Python操作串口数据
参考文章:python下串口数据读取、解析和保存 (opens new window)。
#!/usr/bin/python # -*-coding: utf-8 -*- import serial import threading import binascii from datetime import datetime class SerialPort: def __init__(self, port, buand): self.port = serial.Serial(port, buand) self.port.close() if not self.port.isOpen(): self.port.open() def read_data(self): global data_bytes while True: count = self.port.inWaiting() if count > 0: rec_str = self.port.read(count) data_bytes = data_bytes + rec_str # print('当前数据接收总字节数:'+str(len(data_bytes))+' 本次接收字节数:'+str(len(rec_str))) print(str(datetime.now()), binascii.b2a_hex(rec_str)) serialPort = '/dev/ttyTHS1' # 串口 对应阵脚10和8 baudRate = 115200 # 波特率 data_bytes = bytearray() if __name__ == '__main__': # 打开串口 mSerial = SerialPort(serialPort, baudRate) # 文件写入操作 filename = input("请输入文件名(比如'test.txt',请注意添加引号):") dt = datetime.now() nowtime_str = dt.strftime('%y-%m-%d %I-%M-%S') # 时间 filename = nowtime_str + '_' + filename out = open(filename, 'a+') # 开始数据读取线程 t1 = threading.Thread(target = mSerial.read_data) t1.setDaemon(True) t1.start() print('data collecting...') # 主线程:对读取的串口数据进行处理 while True: data_len = len(data_bytes) out.write(binascii.b2a_hex(data_bytes[0:data_len])) # 字节数组转化为16进制字符串 data_bytes[0:data_len] = b''