基于ESP8266的智能配电板

This is the final curcuit: 

This is components you need for the project:

PZEM-004T: https://s.click.aliexpress.com/e/_9hYStD

ESP8266: https://s.click.aliexpress.com/e/_97j7kp

Resistors: https://s.click.aliexpress.com/e/_9AslPB

Electrolytic Capacitor: https://s.click.aliexpress.com/e/_A2atvx

PCB 6X8: https://s.click.aliexpress.com/e/_d7XpQnS

Pin Header: https://s.click.aliexpress.com/e/_AUvLzT

Female PCB Header: https://s.click.aliexpress.com/e/_AClQip

5V relay module: https://s.click.aliexpress.com/e/_AAXY9i

1602 I2C Display: https://s.click.aliexpress.com/e/_AF3L2o

Compilation

Use core 2.7.4 for this project (Tested with this version)  upd: 08/12/2021 made some changes, tested with 3.0.2 (works)

please download the necessary libraries: https://github.com/electrical-pro/SmartBoard/blob/main/libraries.zip copy them from the archive to: C:\Users\Documents\Arduino\libraries

P.S. I modified the LiquidCrystal_I2C library, I removed Wire.begin(5, 14);

Uploading files from data folder

The project uses SPIFFS to store files on ESP8266, upload them to the ESP8266 (read about SPIFFS if you dont know what that is.) 

 If you don’t see this option install the plugin from here: https://github.com/esp8266/arduino-esp8266fs-plugin

Connecting to router

After flashing connect to “PowerControlESP | Offline” pass is “PowerControlPass” then go to 192.168.4.1 (WI-Fi manager) and connect to your Wi-Fi router. 

Power server is at 192.168.x.x:8089 (port is 8089)

Very unusual authorization that I implemented

If it says “The file exists, but you are not authorized!” – is a simple safety feature that I implemented, so in order to access files you need to go to a secret URL first http://192.168.x.x:8089/me (you can program another one) When you go to http://192.168.x.x:8089/me it puts a cookie in your browser and you become an authorized user

to make it work right set it to false in the sketch

// set it to false, and then get auth cookie by going to 192.168.x.x:8089/me
bool PublicAccess = true;  // authorization 

If it is true it only allows you to go to http://192.168.x.x:8089

if it is false nothing is allowed unless you go to http://192.168.x.x:8089/me first

Serial

Note that I use Serial for PZEM004Tv30 module

PZEM004Tv30 pzem(&Serial);

Other information goes to Serial1 not Serial (so you will not see things in serial monitor)

Serial1.begin(115200);

远程连接AVH的主机

这里的AVH是指Arm Virtual Hardware,可以在线访问的虚拟开发板。

AVH支持两种模式远程登录内网的主机。

一是OpenVPN,下载配置文件导入即可。

二是SSH,添加密钥后即可。

OpenVPN的比较傻瓜,这里就不赘述了。

SSH的话,可以用以下命令:
ssh -J c9922a0f-edcb-486d-b84f-9508262abeb1@proxy.app.avh.arm.com pi@10.11.0.1

你也可以使用~/.ssh/config提前配置好跳转主机。

容器化构建聆思科技CSK6开发编译环境

聆思科技发布的新一代AI芯片CSK6,集成了安谋科技星辰“STAR-MC1”处理器。

采用 NPU+DSP+MCU 三核异构技术,算力达到 128 GOPS。使芯片能以较低功耗满足音频及图像视频的 AI 应用需求。

同时他们也发布了一个基于开发板的解决方案,并提供了相关工具和例程。

为了方便大家调试、编译聆思科技CSK6开发板,我在这里构建了一个容器化编译环境。一条命令拉取即可开始编译工作。

docker run -it verdureorange/listenai:latest

里面自带的Lisa工具,以及相关例程均来自聆思科技官方网站。

VERSION:

@listenai/lisa/2.4.5 linux-x64 node-v16.14.0

如果你正在使用聆思科技的CSK6开发板,又懒的自己配环境,可以用它试试。

教学视频:

容器化构建聆思科技CSK6开发编译环境_哔哩哔哩_bilibili

镜像:

https://hub.docker.com/r/verdureorange/listenai

相关文章:
带NPU和DSP的聆思科技MCU来了
https://aijishu.com/a/1060000…

有问题和意见可以联络:Medivh

邮箱:verdureorange@gmail.com

国内安装Ubuntu server速度慢的解决方法

在本地的 vmware 虚拟机管理系统中 安装 Ubuntu 20.x 时,发现全新系统安装的特别慢。一直卡在 installing kernel /  这个页面。

通过日志排查发现 在安装之前 系统源虽然自动切换到  http://cn.archive.ubuntu.com/ubuntu/ 这个官方系统源地址,但这个地址的数据服务器其实是在 美国数据中心,导致我们系统一直无法进行相关文件的下载。

解决方法:

将官方安装源:

http://cn.archive.ubuntu.com/ubuntu/ 

替换成 阿里云

http://mirrors.aliyun.com/ubuntu/

这样就可以很好的解决了 系统一直卡在安装界面中, 另外系统安装完成后,你更新 系统 以及 安装 各种组件时 都会默认使用 阿里云的镜像进行下载,而不会在通过 Ubuntu 官方的美国机器。

Google宣布推出KataOS操作系统 基于Rust和seL4微内核

Google本周宣布发布KataOS(开发代号Sparrow)作为他们最新专注于运行环境侧重于机器学习工作负载的嵌入式设备的操作系统。KataOS从设计上就具备安全意识,使用Rust编程语言开发,并建立在seL4微内核的基础之上。

谷歌表示,随着我们发现自己被越来越多的从环境中收集和处理信息的智能设备所包围,需要有一个简单的解决方案来为嵌入式硬件构建可验证的安全系统。如果我们周围的设备无法通过数学证明能够保护数据安全,那么他们收集的个人身份数据,例如人物图像和声音录音,可能会被恶意软件访问,因此推出了 KataOS。

据介绍,KataOS 选择了 seL4 作为微内核,其经过数学证明是安全的,具有保证的机密性、完整性和可用性。通过 seL4 CAmkES 框架,KataOS 还能够提供静态定义和可分析的系统组件。

KataOS 提供了一个可验证的安全平台,保护用户的隐私,因为应用程序在逻辑上不可能违反内核的硬件安全保护,并且系统组件是可验证安全的。

此外,KataOS 几乎完全在 Rust 中实现,该语言消除了所有类型的错误,例如 off-by-one 错误和缓冲区溢出。

目前的GitHub版本包括大多数KataOS的核心部分,包括我们用于Rust的框架(如sel4-sys crate,它提供了seL4系统调用API),一个用Rust编写的备用根服务器(需要动态全系统内存管理),以及对seL4的内核修改,可以回收根服务器使用的内存。”

GitHub上可以看到相关项目进展:

https://github.com/AmbiML/sparrow-manifest

黑客利用Wi-Fi无人机远程渗透金融公司内网

本周早些时候,The Register 报道了今夏了一起无人机黑客袭击事件。然而受害的私人投资公司却对此保持沉默,仅同意根据保密协议与安全人员展开探讨。

据说当时网络管理员发现公司的 Confluence 页面在局域网内表现出了奇怪的行为,而 Confluence 则是 Atlassian 开发的基于 Web 的远程协作软件。

Drones and solar cells, The drone is a high angle camera shooting a solar cell farm. Which is clean energy Able to generate electricity

报道称,安保人员在大楼顶层发现了两架无人机 —— 其一是经过改装的 DJI Matrice 600,其二是经过改装的 DJI Phantom —— 前者炸机但仍在运行,而后者实现了安全着陆。

后续调查发现,Matrice 600 无人机被加装了渗透套件,包含一台树莓派、GPD 迷你笔记本电脑、4G 调制解调器、Wi-Fi 设备、以及几块电池。

此外 Phantom 无人机则打包了 Hak5 开发的一套名为 Wi-Fi Pineapple 的网络渗透测试设备。

与该公司 IT 团队沟通的安全研究员 Greg Linares 表示,攻击者在数日前使用 Phantom 无人机 + Wi-Fi 渗透装置拦截了员工的凭据。

接着攻击者将窃取的信息编码到了 Matrice 无人机携带的穿透设备中,利用员工 MAC 地址和访问凭据、从屋顶侵入了公司的 Cnnfluence 页面。

可知其浏览了 Confluence 日志,试图窃取更多登录信息、以连接到公司内网的其它设备。庆幸的是,攻击者仅取得了有限的进展。

当管理员注意到受感染员工设备的 MAC 地址在本地和数英里外的远程地点登录时,立即意识到公司网络遭受了攻击。

在对 Wi-Fi 信号实施隔离后,安全团队带着福禄克测试仪追踪并定位了屋顶上的渗透设备。

Drones and solar cells, The drone is a high angle camera shooting a solar cell farm. Which is clean energy Able to generate electricity

Greg Linares 表示,这是他在近两年里看到的第三次基于无人机的网络攻击。

不过大家也无需惊慌,毕竟新案例得逞的前提,是受害企业启用了一套未妥善部署安全措施的临时网络。

而且就算是这套本就脆弱的网络,攻击者也蛰伏了数周时间来实施‘内部侦查’。

综上所述,该威胁行为者距离目标地点的物理距离肯定不太远,手头有足够预算、且知悉受害企业的物理安全限制。

用树莓派自制反跟踪装置

马特·埃德蒙森(Matt Edmondson)是一名数字取证专家,也是国土安全部的联邦特工。

在一位朋友担心被跟踪后,他制作了一个基于Raspberry Pi的反跟踪工具。

马特·埃德蒙森的家伙什儿

它是由什么构成的?

整个设备都装在鞋盒大小的防水箱内。基础由树莓派3构成。

外接无线网卡和无线信号探测器,可查找附近的设备。

充电宝为一切提供动力,触摸屏显示设备发送的每个警报。

以便用户可以直观地看到哪些设备不断弹出以及多久弹出一次。

它是如何工作的?

该设备运行Kismet软件来检测附近正在寻找Wi-Fi或尝试连接到蓝牙设备的智能手机和平板电脑。Kismet 是一个网络检测器、数据包嗅探器和入侵检测系统,它可与任何支持原始监视模式的无线网卡一起运行。

我们都知道我们的手机会记录应用程序使用情况和位置。

但你可能不知道,你的手机也在不断寻找周围的无线网络。当它找到一个以前连接过的网络时,它会特别兴奋。

“特别兴奋”是指“做一些不同的事情,以一种特殊的方式通知Kismet”。

如果Kismet发现它在过去二十分钟内看过这个设备,它会发出一条警告,让用户知道他们可能被跟踪。

Matt用Python编写了一些代码,以便保留反跟踪工具接触过的设备列表,检查日志并查看上次遇到每个设备的时间。

这种自制的反跟踪设备专为人们在移动中设计。

如果你在一个地方坐了很长时间,而有些人总在你周围闲逛(比如电影院或餐馆),那你每二十分钟就会被提醒一次,让你知道周围可能有人跟踪你。

你可以在2022年8月的黑帽美国安全会议上看到Matt在此设备上的演示文稿,或者前往GitHub查看他针对此反跟踪构建的代码

如何使用Python自带编辑器IDLE

IDLE的调试方法:
1.设置断点:在Python编辑器中要调试的代码行右击->Set Breakpoint,之后该行底色就变黄了
2.打开debugger:Python Shell->Debug->Debugger
3.编辑窗口按F5
4.debug过程略
Go表示运行完相当于eclipse的F8,不过按F5后先要go一下才能往下走,默认是不运行的
Step表示一步一步相当于eclipse的F5
Over表示跳过函数方法相当于eclipse的F6
Out表示跳出本函数相当于eclipse的F7


IDLE编辑器快捷键

自动补全代码 Alt+/(查找编辑器内已经写过的代码来补全)
补全提示 Ctrl+Shift+space(默认与输入法冲突,修改之)
(方法:Options->configure IDLE…->Keys-> force-open-completions
提示的时候只要按空格就出来对于的,否则翻上下键不需要按其他键自动就补全了)
后退 Ctrl+Z
重做 Ctrl+Shift+Z
加缩进 Ctrl+]
减缩进 Ctrl+[
加注释 Alt+3
去注释 Alt+4

Python Shell快捷键
自动补全同上
上一条命令 Alt+P
下一条命令 Alt+N

树莓派摄像头学习必备 —— Picamera2 测试版发布

最近发布的 Raspberry Pi OS 映像,终于预装了Picamera2库的 beta 版本。它是旧 PiCamera 库的替代,也是未来树莓派摄像头的官方首选开发库。

从早期版本开始,PiCamera 就非常受用户欢迎,因为它提供了一种非常简单而开放的Raspberry Pi 摄像头调用方式,让大家远离了专有和闭源的摄像头API(比如Broadcom的)。

Picamera2 主要特点

1、支持命令行驱动,你可以将 Picamera2 的命令直接通过Python 解释器或 Python 脚本调用。
2、使用OpenGL加速硬件辅助渲染,或在X windows未运行时使用DRM/KMS进行高速渲染。
3、支持将现成的 Picamera2 组件嵌入到 Qt 应用程序中。
4、原生支持 numpy,使其与 OpenCV、TensorFlow 和其他 Python 库一起使用非常自然。
5、所有源代码都可以在Picamera2 GitHub 页面上获得,或者作为libcamera 项目的一部分。
6、支持所有官方树莓派相机,也支持一些第三方相机

还有一些功能,例如视频编码和录制(可自定义输出对象),同时录制音频和视频的能力。在摄像头图像上显示叠加层等等。

要了解更多信息,请查阅大量示例脚本应用程序,或查阅我们的Picamera2 用户手册

Picamera2 可以在 TensorFlow 的帮助下检测和圈出狗

安装和升级

Picamera2 仅在最近的 Bullseye (新的树莓派系统代号)上受支持。

Buster 或更早的版本不支持它,Raspberry Pi OS Legacy 也不支持。所有这些用户都只能继续使用旧的 PiCamera 库。

在最新的 Bullseye 系统上已经安装了 Picamera2。

需要命令行安装的话可以输入:

sudo apt install -y python3-picamera2

树莓派操作系统

Raspberry Pi OS 用户会发现新的系统中, Picamera2 已经完整安装,包括 Qt 和 OpenGL。

Raspberry Pi OS Lite 默认随 Picamera2 一起安装,但没有 Qt 和 OpenGL。原因是用 Raspberry Pi OS Lite 的低配Pi 运行基于 X Windows 的应用程序或通过 X Windows 显示堆栈进行渲染会比较卡。

如果需要在Raspberry Pi OS Lite上使用 Qt 和 OpenGL,可以这么安装。

sudo apt install -y python3-pyqt5 python3-opengl

如果你用的是未安装 Picamera2 的较早版本的 Bullseye,又不用 Qt 和 OpenGL 的话,安装它的命令:

sudo apt install -y python3-picamera2 –-no-install-recommends

之前通过 pip 安装过 Picamera2 的用户

一些用户可能以前使用pip,那需要先卸载再安装。当然,你可以继续用pip的方式。

如何尝试 Picamera2?

有一些示例脚本很有帮助,你可以下载并运行它们:

git clone https://github.com/raspberrypi/picamera2.git

python picamera2/examples/preview.py

在 Python 解释器中输入 Picamera2 指令

提示

如果遇到任何困难,请注意以下几点:

  • Raspberry Pi 3 或更早版本设备的用户将需要重新启用 Glamour(如果他们以前没有这样做)才能使用任何 X Windows/OpenGL 预览功能。
  • libcamera 在控制台窗口中可以非常“健谈”。如果这让你感到困扰,请在运行 Python 之前键入:export LIBCAMERA_LOG_LEVELS=*:3(或将其放入.bashrc)。
  • Picamera2使用一种特定类型的 Linux 系统内存,称为 CMA 内存。系统资源不足的话会有问题。

如果有任何其他问题或疑问,可加入树莓派摄像头论坛讨论。

用树莓派和乐高、针筒做个潜水艇

视频地址:

https://mp.weixin.qq.com/s/wYKvfumwgpyK7EUVU2AE0w

https://weibo.com/5408421566/M1milvVlX

相关代码:

1、Dropbox

链接:https://www.dropbox.com/sh/u8a45maz3brrwrw/AADbUx9VZEw5UJPny1bJI-Lwa

2、百度网盘

链接:https://pan.baidu.com/s/1kc8RyThILrkOc4ObzOXD0Q?pwd=vrag
提取码:vrag