峯言凬语 O ever youthful O ever weeping~
本无意与众不同,怎奈何口味太重。
文章分类
常用标签
友情链接
您正在查看: Digi 分类下的文章
April 16, 2020

WDbook.jpg
忽然要用一个移动硬盘做EXT4数据迁移,想起了以前老杨送的一块西数的WDmybook,但是硬盘坏了,换了一块希捷硬盘上电,却提示硬盘无法初始化,网上查参数,发现是WD给加密了,一个小破硬盘盒子有啥好加密的,无奈只好研究电路板,试了几下不行,就又到网上翻资料,结果很意外,原来加密数据是放在板子上的一块芯片上的,华邦25x20,这就简单了,无论是电烙铁焊掉,或者是直接切除芯片7和8两个引脚,都是ok的,论坛里大家用的的方法也是类似,自己试了一下,成功读取硬盘,写入测试通过。

March 26, 2020

M1.jpg
============================ 斐讯悟空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法:

  1. USB转TTL,TX接3080B 25针脚,RX接3080B 24针脚,GND 接3080B 17针脚。
  2. 打开SecureCRT,选择串口,设置波特率921600,数据位8,奇偶校验无,停止位1,流控全都不勾选。
  3. 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. 输入 1 回车,进行固件的升级,同时可见 Updating application...
    点选传输,选择发送Ymodem,固件选择带 ota 的 MD5 升级固件mqtt@MK3080B@moc.ota-MD5.bin,等待完成,若是第一次会出现Successfully!
  2. 输入 6 回车,退出固件升级模式,Booting....,然后断电,拔掉 3.3V 供电。

============================ 读取设置EMW3080BE固件 ============================

  1. 接线调整,此时 EMW3080B 并没有任何供电,不要连接 TTL 的 3.3v 供电。

引脚 17 为 EMW3080B 的 GND 与 TTL 的 GND 连接

引脚 24 为 EMW3080B 读取模式的 TX 与 TTL 的 RX 连接

引脚 25 为 EMW3080B 读取模式的 RX 与 TTL 的 TX 连接

  1. 修改 SecureCRT 的串口参数,将速率设置为 115200,然后接通 M1 机身的 USB 供电,读取当前信息。
  2. 设置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

March 24, 2020

BCM4709.jpg

最近被朋友叫着一起去帮忙,参与给人搭建一个挖币小矿场,工地上一群人忙活。

矿场情况

  1. 设备:使用ARM盒子矿机,刷机配置ID和网络标识。
  2. 线路:由于BxC要求每个IP限绑一台设备,这样有多少台设备就要有多少根宽带,或者电信局端支持多拨。
  3. 路由器:50台设备以下可以配备50台路由器,但再多就很不方便了,布线维护太复杂,需要使用虚拟化服务器。
  4. 监控:监控机上安装使用VCENTER做监控。

具体实施

  1. 所有拉进来的电信宽带光线全部接入光端机架,然后从光猫LAN口接入万兆网管交换机,交换机上为每一个光猫划分一个VLAN。
  2. 万兆交换机接入DELL虚拟化服务器万兆网卡,虚拟化交换机安装EXSI,虚拟几台x86安装ROS路由系统,绑定虚拟网卡,每台ROS接入8台24口网管千兆交换机,连接184台设备。
  3. 所有矿机接入24口千兆网管交换机,每台设备划分一个VLAN,并单独配置一个DHCP服务,千兆网管交换机向上trunk汇聚,接入交换机连接DELL虚拟化服务器,千兆交换机对应到一台ROS,每台ROS设置多拨,拨24次,目的就是保证每台矿机一条线路,减少了物理设备,能省则省。
  4. 电源使用普通PDU,准备半个小时的UPS备用电源,电工将开关设在了监控机旁,过热不行就拉闸,避免起火。
  5. 20台小型工业风扇组成风道阵列,将热气排出室外。

小的总结
ROS部分设置我没看,推测基本上都差不多,这是个还算比较合理的小型矿场,也不知道他们能挖多少数字币,今天比特币跌到了6761美元,老大要发展区块链,民间主要热衷炒币。

March 22, 2020

N1b.jpg

项目白皮书:

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

  1. 先将 N1_mod_by_webpad_v2.1_20180904-gms-xposed.img 线刷入N1。
  2. 断电重启,待系统进入后查看IP,连接USB公对公数据线到靠近HDMI的USB口。
  3. 先不要插固件U盘,将N1通电,运行cmd打开N1的adb,输入:

    adb connect IP (若daemon报错连不上,可尝试adb nodaemon server)
    adb reboot update

  4. 此时N1会黑屏重启,黑屏时迅速将数据线拔下换上固件U盘。
  5. 重启后N1会自动将U盘内的镜像写入EMMC,写完后屏幕会彻底黑屏,等待2分钟,断电。
  6. 拔下U盘,重新加电,直到登陆界面出现,完成。

APP绑定博纳云账号

  1. 确保N1和手机在同一网络,并WiFi没有设置隔离。
  2. 下载安卓app安装到手机上,打开后登录博纳云账号,然后查找设备并绑定
  3. 登陆博纳云官网查看设备。

接入数据硬盘

  1. 将一块大于100G的移动硬盘格式化为Ext4格式,插入靠近HDMI的USB口。
  2. 待数据下载刷新后,会在博纳云官网中看到更新。

刷回电视盒子固件(此方法也可用于重刷博纳云镜像)

  1. 打开Amlogic USB Image Tool,载入 N1_mod_by_webpad_v2.1_20180904-gms-xposed.img,勾选擦写flash,不要勾选擦写bootload,点击开始。
  2. 在N1靠近HDMI口插入USB双公头线,另一端连接电脑,加电设备瞬间可以从usb burning tool 看到设备并自动刷机,等进度到100%就刷好了W固件。

wankeyun.jpg
玩客云硬件参数
CPU:晶晨的s805,ARM Cortex-A5四核架构,单核主频标称1.5GHz。
GPU是四核ARM Mali450,硬件支持1080P H.265。
HDMI接口。
内存:海力士 512*2共1G DDR3。
闪存:三星的8GB eMMC。
网络芯片:螃蟹rtl6211f 千兆网口。

软硬件准备工作

  1. 玩客云
  2. U盘
  3. 公对公USB-typeA线,usb-ttl转换线,比如 CP1202 或 CH340G,杜邦线三根。
  4. 通刷工具Amlogic USB Burning Tool。
  5. s805通刷固件update.img。
  6. Win32DiskImager或BelenaEtcher,putty。
  7. boot文件和千兆网卡修复u-boot.bin,meson8b_m201_1G.dtb。
  8. Armbian镜像 wanke-emmc.img。
  9. 一颗随时因为云变砖而破碎的心

开工大吉

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,玩客云有两个版本:

wkyb1.jpg
wkyb2.jpg

短接之后不要松开,插上电源,迅速将双头USB分别插入电脑的usb接口和玩客云远离网卡的USB接口,刷机软件开始线刷刷机进度,待进度条走完之后,点击停止,通电启动,显示屏上会进入安卓系统。

3.TTL刷机线连接并设置u盘启动
将usb-ttl线接到玩客云ttl口上,只需接GND TX RX,TX对应母鸡主板上的RX,RX对应母鸡上的TX。
(TTL线:黑色:GND 白色:RXD 绿色:TXD)

wkyb3.jpg
wkyb4.jpg

TTL线的usb端口连接电脑,安装好驱动,打开电脑设备管理器查看com口号,将对应com口号属性的波特率改115200。

wkycom.jpg

打开putty,连接方式选 Serial,Serial line填写TTL线的com口号,波特率改为115200,点open激活窗口,然后给玩客云通电,在3秒内连续按回车键进入uboot配置界面(3s内有效,超时就重新插拔电源)。

wkycmd.png

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