華為AR502H-CN 邊緣計算物聯閘道器 除錯總結
賬號密碼:wd Wd123456
ip route add 192.168.100.10 dev GE0 via 192.168.100.12
打包
tar -cvf hello.tar ./
解壓
tar xf eciot-ova.tar.gz -C ./eciot-ova
build/
sed -i s#http://ftp.cn.debian.org/#http://mirrors.tuna.tsinghua.edu.cn/#g ../system/sdk/Dockerfile_base
通過docker run命令可以從基礎映象中執行基礎編譯環境,在基礎編譯環境中進行第三方開源元件的編譯。
docker run -v /home/wt/ar502h:/data -it --rm --hostname base huawei-ec-iot/sdk:base /bin/bash
•編譯32位容器中的開源元件,使用如下命令:
./build_opensrc.sh armel
•編譯64位容器中的開源元件,使用如下命令:
./build_opensrc.sh arm64
開源元件編譯完成後,在頂層目錄下的custom_deb資料夾中生成相關開源軟體的deb包
編譯完成後使用以下命令退出基礎編譯環境,回到進入基礎編譯環境前的路徑。
製作最終編譯映象
./build_sdk.sh
會在當前環境中生成最終的編譯環境
sudo docker images
加埠對映
sudo docker run -v /home/wt/ar502h:/data --hostname sdk --privileged -it -p 8080:8080 -p 502:502 --rm huawei-ec-iot/sdk:buster /bin/bash
sudo docker run -v /home/wt/ar502h:/data --hostname sdk --privileged -it --rm huawei-ec-iot/sdk:buster /bin/bash
使用tar命令打包檔案作為docker映象:
tar -cvf wgapp.tar ./
生成ova映象
create-ova -t docker -di /data/wgwebserver/hello.tar -dt tar -dc ./usr/bin/hello -tl demo:hello -o /data/wgwebserver/
create-ova -t docker -di /data/wgwebserver/wgapp.tar -dt tar -dc ./bin/sh -tl demo:wgapp -o /data/wgwebserver/
container install hello1 hello.ova disk 50 memory 100
container install docker01 hello.ova
停止容器 container stop container
刪除容器 container uninstall container
檢視容器日誌 journalctl CONTAINER_NAME=container
檢視docker安裝狀態
container status
啟動docker
container start hello
停止
container stop hello
檢視
container list
檢視log
journalctl CONTAINER_NAME=hello
檢視實時log
journalctl -fa
檢視n行
journalctl -n 200
串列埠部分
1、RX1/TX1 為232介面,D1+/D1- 為:485介面 對應軟體系統tty裝置為:/dev/ttyAMA1
RX2/TX2 為232介面,D2+/D2- 為:485介面 對應軟體系統tty裝置為:/dev/ttyAMA2
2、由於485介面為半雙工通道,軟體APP在收發資料時,需要進行收發時序控制:
例如:裝置:/dev/rs485Ctrl0 對應控制 /dev/ttyAMA1;
裝置:/dev/rs485Ctrl1 對應控制 /dev/ttyAMA2;
操作方法為:對rs485Ctrl裝置進行正常的0/1讀寫控制。
備註:當前AR502H正在開發階段,早期版本中部分功能未開發全面,請獲取最新版本進行除錯。
3、232和485是通過軟體命令進行切換使用,請參考產品命令使用文件:
命令備註:serialportctl RS232/RS485 1/2
serialportctl -m RS232 -p 1
serialportctl -s
stty -F /dev/tty* ispeed 9600 ospeed 9600
serialportctl RS232/RS485 1/2
echo “hello” > /dev/tty*
cat /dev/tty*
echo “hello” > /dev/ttyRS1
ar502配置ip連線雲端
ip addr add 10.23.2.183/24 dev GE4
ip addr show dev GE4
ip route add default via 10.23.2.254 dev GE4
route -n
刪除ip
ip addr del 192.168.1.12/24 dev GE4
註冊裝置到雲端
aclinkctl -t 172.16.148.143 -p 10021 -c true
aclinkctl
本地執行docker tar包
docker load -i wgapp.tar
ssh連線容器
獲取容器的ip
container status
192.169.100.12為裝置的IP地址
192.168.100.3為容器的IP地址
1.建立一個表
nft add table dnat1
在表裡建立一條鏈
nft add chain dnat1 prerouting { type nat hook prerouting priority 0 \; }
nft add chain dnat1 postrouting { type nat hook postrouting priority 0 \; }
在鏈裡新增入方向的一對一地址轉換規則。對滿足目的IP地址和目的埠條件的報文進行一對一地址轉換
nft add rule dnat1 prerouting ip daddr 192.169.100.12 tcp dport 1022 iif GE0 dnat 192.168.100.3:22
192.168.100.0為容器的路由
nft add rule dnat1 postrouting ip saddr 192.168.100.0 oif GE4 masquerade
使用SSH工具PuTTY登入容器。
192.169.100.12 1022
//配置ip
ip addr add 192.168.100.12/24 dev GE0
ip addr show dev GE4
ip route add 192.168.100.10 dev GE0 via 192.168.100.12
route -n
取日誌方法如下
journalctl -a > /mnt/internal_storage/logfile.log;
tar -czvf /mnt/internal_storage/logfile.tar.gz /mnt/log/logfile/;
diagnose -f /mnt/internal_storage/diagnose.txt;
tar -cvf hello.tar ./
create-ova -t docker -di ./hello.tar -dt tar -dc ./bin/sh -tl demo:hello -o ./
tar xf sqlite.tar.gz -C ./sqlite/
./configure --host=aarch64-linux-gnu --prefix=/data/release/
make
make install
./configure --host=aarch64-linux-gnu --enable-static --prefix=/data/install/
編譯
make
安裝
make install
在install生成三個目錄:include lib share