==tbox hardware== 12v DC in *Debug => /dev/ttymxc0 *CAN => /dev/ttymxc1 *GPS => /dev/ttymxc2 *STM8 => /dev/ttymxc3 ==Build rootfs with buildroot== Firstly, get buildroot from repository https://git.g77k.com/supercatexpert/tbox-buildroot. Then run make to build rootfs. If you failed to download some packages, you can try to use HTTP proxy: (Use 127.0.0.1:1080 as example) export http_proxy=http://127.0.0.1:1080 export https_proxy=http://127.0.0.1:1080 export ftp_proxy=http://127.0.0.1:1080 Then run make again. If ''tbox-logger'' package updated, run script ''clean_package_rebuild_tbox_logger.sh'' first: ./clean_package_rebuild_tbox_logger.sh Then build rootfs with make again. When building finished, you can get rootfs tarball at ''output/images/rootfs.tar.gz''. ==Turn off GPRS/3G/4G network== Ubuntu: poff ppp0 Buildroot: touch /tmp/gprs-off poff gprs ==sample HTTPS request== sample CLI: curl https://git.g77k.com sample C: View https://curl.haxx.se/libcurl/c/https.html ==How to make update package== Make a new directory as root file system, copy files you want into it, e.g. you want to update TBox main program ''tbox-logger'', copy ''tbox-logger'' from buildroot directory at ''output/target/usr/bin/tbox-logger'', then copy it into the root file system at ''usr/bin''. Make a tarball of the file system: tar -cJf ../update.tar.xz ./ Tarball ''update.tar.xz'' will be created at parent directory. Copy it to the update directory of project tbox-logger, and run script encrypt.sh at the update directory, encrypted update package ''update.dat'' will be generated. ==CAN bus setup== ip link set can0 type can bitrate 500000 triple-sampling on #bitrate can be 125000 or 500000 ifconfig can0 up cansend can0 5A1#11.22.33.44.55.66.77.88 candump can0 ==6ulevk== 5v DC in ===can on 6ulevk=== [[file:Imx6UL-CAN.png|200px|RIGHT]] Pin Def: # 3V3 # GND # CAN1_L # CAN1_H # GND # CAN2_L # CAN2_H # GND ==Login dialgram== 2323 01fe 464d542d43453331363034323530303538 01 001e 110101080808 0000 3839383630313136393633313034373437383230 01 00 b8 ==imx6 与STM8L 通讯协议== ====物理层协议==== 通过串口通讯,9600波特率,校验位无,数据位8位,停止位1位 =====帧格式表===== {| class="wikitable sortable" |- ! 起始位 !! 数据位长度!! 数据位 !! 校验位置 !! 结束位置 |- |0xA5,一个字节长度||一个字节,数据位的长度||见数据位表,变长||起始位 开始 到 数据位结束 异或校验,一个字节长度||0x5A,一个字节长度 |} =====数据命令以及数据内容表===== {| class="wikitable sortable" |- ! 命令序号 !! 命令内容 !! 是否需要回复 |- |1,imx6 发送 开机完成命令||无||0表示无需返回,1表示需要应答 |- |2,STM8应答|| 一个字节,0,上电开机,无其他唤醒事件;1、加速度传感器开机事件 ;2、CAN1数据开机事件;3、CAN2数据开机事件;4、点火信号开机事件;5、定时开机事件;6、DC电压低开机事情;;6、IMX6超时开机事件||0表示无需返回 |- |3,imx6 发送 准备关机命令||无||0表示无需返回,1表示需要应答 |- |4,STM8应答||数据正常应答0x00,错误应答0x01,一个字节长度(收到此命令后,STM8一段时间后关闭imx6电源(时间有imx6关机时间决定,暂时15S))||0表示无需返回 |- |5,STM8发送24V电池电压低信号(持续500ms检测低于8.5V)||无||0表示无需返回,1表示需要应答 |- |6,imx6应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回 |- |7,imx6 断电前上传数据完毕关机命令||无||0表示无需返回,1表示需要应答 |- |8,stm8应答||数据正常应答0x00,错误应答0x01,一个字节长度(收到此命令后,STM8一段时间后关闭imx6电源(时间有imx6关机时间决定,暂时15S),并且ST_BOOST_EN置低,关掉自己电)||0表示无需返回 |- |9,imx6 校正STM8L rtc时间||年月日周时分秒(7个字节,年:2017,去17(0x11);月:1-12,日:1-31;周:1-7;时:0 - 23;分:0 - 59;秒:0 - 59)||0表示无需返回,1表示需要应答 |- |10,stm8应答||数据正常应答0x00,错误应答0x01,一个字节长度(收到此命令后,STM8设置自己的RTC时间)||0表示无需返回 |- |11,imx6 设置STM8L给imx6上电开机时间||年月日周时分秒(7个字节,年:2017,去17(0x11);月:1-12,日:1-31;周:1-7;时:0 - 23;分:0 - 59;秒:0 - 59)||0表示无需返回,1表示需要应答 |- |12,stm8应答||数据正常应答0x00,错误应答0x01,一个字节长度(收到此命令后,STM8设置给imx6上电时间,到时见给imx6上电,当imx6已经上电时忽略此时间)||0表示无需返回 |- |13,STM8发送定时时间到命令||设置的报警时间:年月日周时分秒(7个字节,年:2017,去17(0x11);月:1-12,日:1-31;周:1-7;时:0 - 23;分:0 - 59;秒:0 - 59)||0表示无需返回,1表示需要应答 |- |14,imx6应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回 |- |15,imx6 发送设置加速度仪器灵敏度参数命令||1 - 100,一个字节长度(值越小越灵敏,在imx6系统上电后发送一次,STM8默认设置是16)||0表示无需返回,1表示需要应答 |- |16,STM8应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回 |- |17,imx6 获取STM8L RTC时间||无||0表示无需返回,1表示需要应答 |- |18,STM8应答||年月日周时分秒(7个字节,年:2017,发送17(0x11);月:1-12,日:1-31;周:1-7;时:0 - 23;分:0 - 59;秒:0 - 59)||0表示无需返回,1表示需要应答 |- |19,STM8上传加速度值||short x,short y,short z(6个字节,分别表示x方向,有方向,z方向加速度值,有符号数据,大端模式,单位mg)||0表示无需返回,1表示需要应答 |- |20,imx6应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回,1表示需要应答 |- |21,imx6 请求上报STM8上报采集的AD值|| 无||0表示无需返回,1表示需要应答 |- |22,STM8应答||u16 ADC_NTC_VALUE,u16 ADC_BAT_VALUE,u16 ADC_DC_VALUE,6个字节长度(分别表示热敏电阻AD值,电池电压AD值,供电电压 AD值,大端模式;热敏电阻阻值计算公式:(100 * (3.3 * ADC_NTC_VALUE / 4096))/(33 - (33 * ADC_NTC_VALUE/4906)),单位K欧姆;直流电压计算公司:2 *3.3*ADC_DC_VALUE/4096,单位,V;DC电压计算公式:13.05 *3.3*ADC_DC_VALUE/4096,单位,V;||0表示无需返回,1表示需要应答 |- |23,imx6 获取STM8软件版本号||无||0表示无需返回,1表示需要应答 |- |24,STM8应答||"ST20170823-01",13个字节长度||0表示无需返回,1表示需要应答 |} == TBox监控WEB管理平台 == [[TBox监控WEB管理平台数据库存储规范]]