============================ 斐讯悟空M1的传感器配置 ============================
WiFi模块(庆科的EMW3080BE)
主控MCU(ATSAMD20G17A)
甲醛传感器(G7)
PM2.5传感器(ZE08-BL20)
温湿度传感器(SH30)
数码管IC(TM1680)
============================ EMW3080BE引脚说明 ============================
引脚9代表TTL中的TX,引脚10代表TTL中的RX,作用是用于进入bootloader模式,便于升级应用程序。
引脚16代表TTL中的3.3V,引脚17代表TTL的GND。
引脚19代表是进入BOOT模式,需要低电平才能触发进入bootloader模式。
引脚24代表TTL中的TX,引脚25代表TTL中的RX,作用是设置WiFi,MQTT,TFTP,OTA升级都是在这个串口完成。
============================ EMW3080BE刷新OTA固件 ============================
TFTP法:
1、tftp32选择Current Directory指向mqtt@MK3080B@moc.ota-MD5.bin。
2、Server Interfaces 与 M1同一局域网。
3、USB转TTL TX接3080B 25针脚,RX接3080B 24针脚,GND 接3080B 17针脚。
4、打开SecureCRT选择串口,设置波特率115200连接,此时会有相应的调试信息。
5、输入tftp_ota 192.168.x.x mqtt@MK3080B@moc.ota-MD5.bin 3 0x110000 0x85FF4,IP地址是电脑的IP,Server Interfaces 选择的IP地址。
6、等待传输完成,等待5分钟。
SecureCRT法:
- USB转TTL,TX接3080B 25针脚,RX接3080B 24针脚,GND 接3080B 17针脚。
- 打开SecureCRT,选择串口,设置波特率921600,数据位8,奇偶校验无,停止位1,流控全都不勾选。
- EMW3080模块进入bootloader模式,写入固件全程使用 TTL 的 3.3V 为 M1 供电,M1 不接 USB 供电。
先将 RX、TX、GND 线连接固定好,TTL 的 RX/TX 与 EMW3080B 的 RX/TX 为交叉连接,再将 GND 接入,再接 3.3v M1 供电。
同时 SecureCRT 8.5 读取到信息,屏幕出现CC字样,说明进入了 bootloader 模式,此时,可以松开 GND ( 绿绿线),如果没有进入 bootloader 模式,需重新按上述步骤进行。
引脚 9 为 EMW3080B 写入模式的 TX 与 TTL 的 RX 连接
引脚 10 为 EMW3080B 写入模式的 RX 与 TTL 的 TX 连接
引脚 16 为 EMW3080B 的 VD3.3 与 TTL 的 Vo 连接
引脚 17 为 EMW3080B 的 GND 与 TTL 的 GND 连接
引脚 19 为 EMW3080B 的 bootloader 模式 与 TTL 的 GND 连接
- 输入 1 回车,进行固件的升级,同时可见 Updating application...
点选传输,选择发送Ymodem,固件选择带 ota 的 MD5 升级固件mqtt@MK3080B@moc.ota-MD5.bin,等待完成,若是第一次会出现Successfully! - 输入 6 回车,退出固件升级模式,Booting....,然后断电,拔掉 3.3V 供电。
============================ 读取设置EMW3080BE固件 ============================
- 接线调整,此时 EMW3080B 并没有任何供电,不要连接 TTL 的 3.3v 供电。
引脚 17 为 EMW3080B 的 GND 与 TTL 的 GND 连接
引脚 24 为 EMW3080B 读取模式的 TX 与 TTL 的 RX 连接
引脚 25 为 EMW3080B 读取模式的 RX 与 TTL 的 TX 连接
- 修改 SecureCRT 的串口参数,将速率设置为 115200,然后接通 M1 机身的 USB 供电,读取当前信息。
- 设置MQTT,在下方的命令行输入: mqtt ip port mqtt用户名 mqtt密码。
e.g. mqtt set nonnix.cn 1883 homeassistant xxxxxx
4、设置WiFi,在下方的命令行输入: wifiparam set -ssid SSID名称 -key WiFi密码。
e.g. wifiparam set -ssid xxxxxx -key xxxxxx
============================ 配置HomeAssistant ============================
vi phicomm_m1.yaml
PHICOMM M1
sensor:
- platform: mqtt
name: "nc_m1_temperature"
state_topic: "MICO_B0F893277A69/tmp"
unit_of_measurement: "℃" - platform: mqtt
name: "nc_m1_humidity"
state_topic: "MICO_B0F893277A69/hum"
unit_of_measurement: "%" - platform: mqtt
name: "nc_m1_hcho"
state_topic: "MICO_B0F893277A69/hcho"
unit_of_measurement: "mg/m³" - platform: mqtt
name: "nc_m1_pm25"
state_topic: "MICO_B0F893277A69/pm25"
unit_of_measurement: "μg/m³"
input_number:
m1_a_screen:
name: nc_m1_screen
min: 0
max: 100
step: 25
在configuration.yaml文件添加内容:
http:
api_password: xxxxxx
mqtt:
customize: !inclue phicomm_m1.yaml
最近被朋友叫着一起去帮忙,参与给人搭建一个挖币小矿场,工地上一群人忙活。
矿场情况
- 设备:使用ARM盒子矿机,刷机配置ID和网络标识。
- 线路:由于BxC要求每个IP限绑一台设备,这样有多少台设备就要有多少根宽带,或者电信局端支持多拨。
- 路由器:50台设备以下可以配备50台路由器,但再多就很不方便了,布线维护太复杂,需要使用虚拟化服务器。
- 监控:监控机上安装使用VCENTER做监控。
具体实施
- 所有拉进来的电信宽带光线全部接入光端机架,然后从光猫LAN口接入万兆网管交换机,交换机上为每一个光猫划分一个VLAN。
- 万兆交换机接入DELL虚拟化服务器万兆网卡,虚拟化交换机安装EXSI,虚拟几台x86安装ROS路由系统,绑定虚拟网卡,每台ROS接入8台24口网管千兆交换机,连接184台设备。
- 所有矿机接入24口千兆网管交换机,每台设备划分一个VLAN,并单独配置一个DHCP服务,千兆网管交换机向上trunk汇聚,接入交换机连接DELL虚拟化服务器,千兆交换机对应到一台ROS,每台ROS设置多拨,拨24次,目的就是保证每台矿机一条线路,减少了物理设备,能省则省。
- 电源使用普通PDU,准备半个小时的UPS备用电源,电工将开关设在了监控机旁,过热不行就拉闸,避免起火。
- 20台小型工业风扇组成风道阵列,将热气排出室外。
小的总结
ROS部分设置我没看,推测基本上都差不多,这是个还算比较合理的小型矿场,也不知道他们能挖多少数字币,今天比特币跌到了6761美元,老大要发展区块链,民间主要热衷炒币。
项目白皮书:
https://bonuscloud.gitbook.io
博纳云官网:
https://console.bonuscloud.work
技术支持论坛:
https://bonuscloud.club
制作博纳云定制固件U盘
用 BalenaEtcher 等img烧录软件将 BonusCloud-LiteNode-N1-emmc.img 写入备用。
安装adb工具
将所有adb文件复制到 c:/windows/system32 和 c:/windows/system 目录下。
N1固件写入EMMC
- 先将 N1_mod_by_webpad_v2.1_20180904-gms-xposed.img 线刷入N1。
- 断电重启,待系统进入后查看IP,连接USB公对公数据线到靠近HDMI的USB口。
- 先不要插固件U盘,将N1通电,运行cmd打开N1的adb,输入:
adb connect IP (若daemon报错连不上,可尝试adb nodaemon server)
adb reboot update - 此时N1会黑屏重启,黑屏时迅速将数据线拔下换上固件U盘。
- 重启后N1会自动将U盘内的镜像写入EMMC,写完后屏幕会彻底黑屏,等待2分钟,断电。
- 拔下U盘,重新加电,直到登陆界面出现,完成。
APP绑定博纳云账号
- 确保N1和手机在同一网络,并WiFi没有设置隔离。
- 下载安卓app安装到手机上,打开后登录博纳云账号,然后查找设备并绑定
- 登陆博纳云官网查看设备。
接入数据硬盘
- 将一块大于100G的移动硬盘格式化为Ext4格式,插入靠近HDMI的USB口。
- 待数据下载刷新后,会在博纳云官网中看到更新。
刷回电视盒子固件(此方法也可用于重刷博纳云镜像)
- 打开Amlogic USB Image Tool,载入 N1_mod_by_webpad_v2.1_20180904-gms-xposed.img,勾选擦写flash,不要勾选擦写bootload,点击开始。
- 在N1靠近HDMI口插入USB双公头线,另一端连接电脑,加电设备瞬间可以从usb burning tool 看到设备并自动刷机,等进度到100%就刷好了W固件。
玩客云硬件参数
CPU:晶晨的s805,ARM Cortex-A5四核架构,单核主频标称1.5GHz。
GPU是四核ARM Mali450,硬件支持1080P H.265。
HDMI接口。
内存:海力士 512*2共1G DDR3。
闪存:三星的8GB eMMC。
网络芯片:螃蟹rtl6211f 千兆网口。
软硬件准备工作
- 玩客云
- U盘
- 公对公USB-typeA线,usb-ttl转换线,比如 CP1202 或 CH340G,杜邦线三根。
- 通刷工具Amlogic USB Burning Tool。
- s805通刷固件update.img。
- Win32DiskImager或BelenaEtcher,putty。
- boot文件和千兆网卡修复u-boot.bin,meson8b_m201_1G.dtb。
- Armbian镜像 wanke-emmc.img。
- 一颗随时因为云变砖而破碎的心
开工大吉
1.写入Armbian镜像
插入U盘,然后打开Win32DiskImager,将Armbian镜像 wanke-emmc.img写入U盘,然后复制boot目录文件内的四个文件复制到新产生的BOOT盘根目录,再将meson8b_m201_1G.dtb复制覆盖到dtb目录,弹出U盘备用。
2.强刷s805 Android通刷固件
拆机取出主板。
打开晶晨通刷工具Amlogic USB Burning Tool,导入s805通刷固件update.img,勾选擦除flash,擦除BootLoader,点击开始。
用镊子或导线短接EMMC,玩客云有两个版本:
短接之后不要松开,插上电源,迅速将双头USB分别插入电脑的usb接口和玩客云远离网卡的USB接口,刷机软件开始线刷刷机进度,待进度条走完之后,点击停止,通电启动,显示屏上会进入安卓系统。
3.TTL刷机线连接并设置u盘启动
将usb-ttl线接到玩客云ttl口上,只需接GND TX RX,TX对应母鸡主板上的RX,RX对应母鸡上的TX。
(TTL线:黑色:GND 白色:RXD 绿色:TXD)
TTL线的usb端口连接电脑,安装好驱动,打开电脑设备管理器查看com口号,将对应com口号属性的波特率改115200。
打开putty,连接方式选 Serial,Serial line填写TTL线的com口号,波特率改为115200,点open激活窗口,然后给玩客云通电,在3秒内连续按回车键进入uboot配置界面(3s内有效,超时就重新插拔电源)。
TTL中断刷入uboot
将准备的优盘插到1号USB口(离网口近的),在putty中输入三行命令:
usb start;fatload usb 0 12000000 u-boot.bin
store rom_write 12000000 0 60000
saveenv
完成后,拔下优盘,然后将玩客云断电.
TTL中断修改启动项为U盘
再次通电启动依次输入如下命令(每次复制1行到uboot配置界面黏贴执行,一共8条)
setenv bootfromrecovery 0
setenv bootfromnand 0
setenv start_mmc_autoscript 'if fatload mmc 0 11000000 s805_autoscript; then autoscr 11000000; fi;'
setenv start_usb_autoscript "if fatload usb 0 11000000 s805_autoscript; then autoscr 11000000; fi; if fatload usb 1 11000000 s805_autoscript; then autoscr 11000000; fi;"
setenv start_autoscript 'if usb start; then run start_usb_autoscript; fi; if mmcinfo; then run start_mmc_autoscript; fi;'
setenv bootcmd 'run start_autoscript; run storeboot'
setenv firstboot 1
saveenv
4.启动Armbian
拔掉电源,插上写好镜像的U盘或者SD卡(插靠近网卡的那个usb口),通电开机,玩客云先蓝灯长亮,过一会两种颜色交替闪烁,说明正在刷入EMMC,请耐心等待,如果未出现就重新加电,putty显示amllogin的时候别登陆,等待刷完会闪烁完蓝灯常亮,断电,拔掉u盘,通电启动。
Armbian的默认root密码是1234
登录后等待网络自动修复,重启,然后就可以SSH安装各种平台了。
附赠网盘
链接:https://pan.baidu.com/s/1_ct2YJA2LrIkH9HsqcV7YQ 提取码:kg5n
---------------------- TTL中断设置其他参考 --------------------
设置 uboot 从 tf 卡启动系统:
setenv bootfromrecovery 0
setenv bootfromnand 0
setenv start_mmc_autoscript 'if fatload mmc 0 11000000 s805_autoscript; then autoscr 11000000; fi;'
setenv start_usb_autoscript "if fatload usb 0 11000000 s805_autoscript; then autoscr 11000000; fi; if fatload usb 1 11000000 s805_autoscript; then autoscr 11000000; fi;"
setenv start_autoscript 'if mmcinfo; then run start_mmc_autoscript; fi; if usb start; then run start_usb_autoscript; fi;'
setenv bootcmd 'run start_autoscript; run storeboot'
saveenv
设置 uboot 从 USB 卡启动系统:
setenv bootfromrecovery 0
setenv bootfromnand 0
setenv start_mmc_autoscript 'if fatload mmc 0 11000000 s805_autoscript; then autoscr 11000000; fi;'
setenv start_usb_autoscript "if fatload usb 0 11000000 s805_autoscript; then autoscr 11000000; fi; if fatload usb 1 11000000 s805_autoscript; then autoscr 11000000; fi;"
setenv start_autoscript 'if usb start; then run start_usb_autoscript; fi; if mmcinfo; then run start_mmc_autoscript; fi;'
setenv bootcmd 'run start_autoscript; run storeboot'
setenv firstboot 1
saveenv
设置 uboot 从 eMMC 启动系统:
setenv bootfromrecovery 0
setenv bootfromnand 0
setenv bootcmd 'run storeboot'
saveenv
自己开发或者刷写第三方固件的时候,如果需要登录GMS,需要添加设备ID认证:
re管理器 --> Data --> Data --> com.google.android.gsf --> databases --> gservices.db --> 内置查看打开数据库文件 --> main --> android_id 记下19位数字设备ID号码
到谷歌注册平台输入ID号注册,然后等待一段时间后测试登录。
https://www.google.com/android/uncertified/