Pi Zero Enc28j60网络适配器模块使用说明 SKU:EP-0088

Pi Zero Enc28j60网络适配器模块使用说明

说明

对于Pi Zero来说, 如果没有网卡是非常不方便的,因为它的核心系统是Linux,
大多数操作都是基于linux的命令行通过ssh服务来完成的.所以它其实需要一个网络适配器,也就是我们常说的网卡, Pi zero enc28j60是简单网络适配器模块,它非常易于组装和配置。
它允许您的Raspberry Pi zero 顺利访问网络,这样就可以很容易进行系统更新和软件安装操作。

兼容性列表

  • 兼容性
平台 版本1.01(HW V1.01) 备注
Raspberry Pi 3 Model B Plus
树莓派零
Raspberry Pi零W
Raspberry Pi 3型号B.
树莓派2型号B
树莓派模型B +

功能

  • 易于组装
  • 易于设置
  • 官方OS覆盖支持
  • 稳定而快速
  • 重量:0.015Kg
  • 尺寸:65.14mm x 29.93mm x 23.34mm

装配展示:

如何配置:

  • 1.将NIC模块安装到raspberry Pi中。
  • 2.连接好网线以确保您的路由器支持DHCP并且运行良好。

  • 3.将Raspbian镜像文件烧录到TF卡。
  • 4.使用您喜欢的编辑器(如“nano”或“vim.tiny”)编辑/boot/config.txt文件,并添加以下参数:
dtoverlay=enc28j60

然后保存退出并重新启动raspberry Pi。
注意:该模块仅在raspbian操作系统环境中进行测试。

如何检查网络适配器是否正常工作

打开终端并输入以下命令:

ifconfig

您将看到Pi zero Enc28j60网络适配器模块的详细信息.这时候说明网卡可以正常使用了.

同时你会看到屏幕右上方的网络连接图标已经呈现出一上一下一对箭头.

套件组件包括:

  • Pi零点Enc28j60网络适配器模块x 1
  • 说明x 1

更多内容请关注www.52pi.net,您将获得更多好玩儿有趣的资讯!

 

树莓派Zero WH SBCs现在提供专业焊接头

树莓派基金会(Raspberry Pi Foundation)今天宣布推出一款带有预焊接头的微型Raspberry Pi Zero W单板电脑的新变种 – Raspberry Pi Zero WH,这是第三款Raspberry Pi Zero型号,它提供了与Raspberry Pi Zero W相同的功能,并且有专业的焊接头,方便那些不知道如何在Raspberry Pi Zero W上添加焊接头的用户,也方便于通过Raspberry Pi Zero进行小项目的用户。

据Raspberry Pi基金会介绍,Raspberry Pi Zero WH可以帮助用户在PC或Mac上充分利用Debian GNU / Linux 9“Stretch”操作系统的GPIO扩展工具,让他们从一个U盘启动Rasbian或使用Linux电脑。

GPIO扩展器工具可让用户快速而简单地访问物理计算,而无需完整的树莓派设置,也无需配置任何SD卡。除了利用GPIO扩展器工具外,Raspberry Pi Zero WH的预焊接头非常适合任何原型工作。

 

 

来自 cnBeta

 

Pi0drone:Pi Zero的200美元智能无人机

故事

树莓派 Zero做飞控图传

前言

原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正。

本文使用Markdown写成,为获得更好的阅读体验和正常的链接、图片显示,请访问我的博客原文:

http://www.cnblogs.com/sjqlwy/p/zero_fpv.html

虽然可以买到商品成品,且会比我们做出来的东西更美观,性能指标更强,但是在折腾中学习,按照自己的需求进行优化改动,享受创造的喜悦,不正是创客精神嘛。

本项目使用手头现有的硬件,旨在将树莓派Zero作为飞控图传使用,本以为会很简单,但是软件适配方面遇到一些问题,困扰了很久。

1. 硬件部分

我们首先来看看硬件列表:

  • Raspberry Pi Zero v1.3
  • otg table & usb wifi dongle (Xiaomi wifi)
  • Raspberry Pi Camera Module v1.3
  • LattePanda With LCD Display

1.1 RPi Zero介绍

Zero体积小巧 (可以当钥匙扣),性能足够,兼容树莓派软硬件资源,这几点让它非常适合做一些硬件相关的创意项目。如果把它当做一个小号的树莓派使用,那真是买椟还珠?我们看看它的相关配置:

  • 1GHz单核CPU
  • 512MB 内存
  • Micro-USB OTG 接口(可用于供电)
  • Micro-USB 电源接口
  • 树莓派 40-pin GPIO引脚
  • CSI 摄像头接口 (仅支持 v1.3)

这里我们准备通过GPIO接口供电,OTG接口连接USB无线网卡与胖哒通讯,搭建Web服务器向LattePanda传输视频流。写这篇文章的时候新版的RPi Zero W(ireless)已经发布,增加了蓝牙无线模块,更加方便,但是我没有,而且很难买T_T

1.2 Zero 供电

“要有电——《创世纪》”

虽然官方仅说明使用Micro USB PWR接口供电,但是使用过程中可以发现OTG接口和GPIO引脚也可以但是不推荐(缺少保护电路)。OTG供电可以参考我之前写的文章《一根数据线玩转树莓派Zero》,不再赘述。因为飞控上不能搞个充电宝弄根数据线,所以准备通过杜邦线连接GPIO接口进行反向供电,这里需要稳定的5v电压,否则可能有损害zero的风险!

如图所示,引脚2接+5v,引脚6接地。

更多讨论与电路原理图等请移步:

当然也可以使用专门的供电拓展模块,比如Pimoroni Zero LiPo

1.3 RPi Camera Module

Zero仅支持RPi Camera v1.3,彼时zero发布时并没有v2的摄像头模块。关于RPi摄像头模块的详细信息务必阅读eLinux的页面

v1.3采用OmniVision OV5647摄像头组件,支持500万像素,实测效果还不错,比较清晰。

需要注意的是,RPi和RPi Zero CSI摄像头接口大小是不一样的,v1.3默认只有适用尺寸较大的RPi接口排线,相用在Zero上的话需要额外购买排线。我是在阿里巴巴上购买的,¥7.5供参考,并额外购买了亚克力支架。

 

1.4 Wireless Communication

因为在室外操作,信号衰减较小,这里我们的方案是otg线+小米随身wifi(采用mt7601u芯片)进行无线传输。使用小米wifi的原因是因为mt7601u功耗很小,稳定性/发热/传输速度距离都可以接受,后期可能会换用模块或者加装天线。

当然也可以选用现成的模块,比如Red Bear IoT pHAT

2. 软件部分

2.1 Zero操作系统选择

操作系统是相当于开车的司机,为zero选择一个合适、方便的系统如虎添翼。由于项目需要,我们选择headless模式进行操作,不需要图形界面,这里讲两个系统:Raspbian和DietPi。

2.1.1 DietPi

一直以来使用的且十分推崇的树莓派操作系统,有些过相关介绍,很久没更新了,现在又增加了很多新特性。其特色包括性能优化,可以快速方便地自动安装配置各种软件,无痛学习上手树莓派,另外作者的脚本写的很棒,可以学到很多东西。

虽然DietPi支持Zero,但是对OTG 虚拟网卡支持并不好,所以最近一直在尝试进行适配,也遇到了很多问题,卡在这里很久,记录如下。

按照《一根数据线玩转树莓派Zero》的方法,分别更改boot分区下cmdline.txtconfig.txt文件,启用usb gadget ether功能,并在/etc/network/interfaces里预增加usb0虚拟网卡相关设置文件。使用MicroUSB连接Host后,正常上电可以识别到LAN连接,但是

  • 使用ssh登录zero,即使开启了网络共享zero也无法上网;
  • windows可以ping通zero,反向ping则无响应。

以上问题在使用Raspbian Lite时并不存在,经群里枫大的提醒,使用Wireshark软件进行局域网抓包分析和USB2TTL串口模块直接调试的方式寻找分析问题。结果如下:Wireshark可以捕获主机ping zero的ICMP协议包,反向无任何响应。最后尝试关闭Windows防火墙解决,怀疑是Raspbian正常使用,没有测试ping命令,所以默认为无需关闭防火墙,这里绕了很大弯路。

注意,开启网卡混淆模式进行监听数据包时,ping命令会返回(DUP!),提示数据包重复。

此时仍然无法上网,ping www.baidu.com提示unknown host,直接ping IP地址ok,cat /etc/resolv.conf没有发现正确的DNS服务器地址。手动在interfaces文件增加dns-nameservers 114.114.114.114后解决,可以正常联网并更新系统。

注意,插拔zero后可能会无法联网,此时关闭|重新开启主机网卡网络共享稍等即可。

完成以上设置之后,安装Lighttpd网页服务器、php等之后,重启失败,串口无任何输出。如此这般,屡试不爽。长久的沉默与崩溃,遂放弃。经历阅读DietPi脚本源码,完善修改相关设置,查看了很多Gadget相关驱动说明和其他文档资料,都准备向github上提交commit了,然后又回到原点,个中滋味,百般无奈,于是怒打了几把王者荣耀平复心情。。。话说之前玩DOTA的,对王者荣耀这种小学生游戏嗤之以鼻,某日和师弟们玩了下,发现我凑上瘾了—

注意,使用otg时推荐使用Raspbian,在正式环境(GPIO供电+USB无线网卡),DietPi是没问题的。

2.1.2 Raspbian Jessie Lite

平复一下心情之后,我们回到树莓派基金会官方推荐的Raspbian Lite,无图形界面,没有预装各种Bloatware。之前的文章是以此为基础进行演示的,各方面比较完善。安装使用过程中比较顺利,这次没有出什么幺蛾子了,泪目。。。

2.2 RPi Cam Web Interface

Camera 图像传输与控制首先想到的是使用RPi Cam Web Interface来管理Camera和传输图像:

Web based interface for controlling the Raspberry Pi Camera, includes motion detection, time lapse, and image and video recording。控制树莓派摄像头的网页前端,支持motion运动检测、定时拍摄以及图像、视频录制。

项目架构如下,主要包括motion——负责运动检测、raspimjpeg——图像捕获与视频流传输、Web Server (Apcahe|Ngnix|Lighttpd)——网页控制界面。受限于zero的性能,以及并不需要多少高级特性,这里Web Server选用更轻量的Lighttpd。

原本执着于DietPi就是因为可以一键安装配置好各种软件,RPi-Cam-Web-Interface也在其中。因为存在问题没解决,所以按照Daniel Knight的脚本手动操作,仍然失败。。。最终在Raspbian上按照官网的方法安装成功。

  1. 启用RPi Camera:sudo raspi-config命令
  2. 正确连接Camera:金手指朝下(LattePanda也是如此)
  3. 安装RCWI:
# 更新系统并安装git 
sudo apt update && sudo apt dist-upgrade && sudo apt install git 
# 下载源码并进行安装 
git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git 
cd RPi_Cam_Web_Interface 
chmod u+x *.sh sudo 
./install.sh

期间会跳出一个命令行对话框:

使用Backspace键删除,无法使用Del。如图所示,则可以通过在浏览器里输入[pi_ip]:80/rcam访问Web Interface,且开机自动运行。这里[pi_ip]填入树莓派的ip地址,我这里是192.168.137.2

注意:

  • 关闭camera上的红色led可以在/boot/config.txt文件增加disable_camera_led=1
  • 只想要最简洁的图像界面可以访问[pi_ip]/rcam/min.php

Zero 图像传输部分

分别是a. OTG线+USB无线网卡(RT3070为例,小米WIFI没找着); b. Zero本体; c. RPi Camera + 排线; d. CH340G TTL转USB模块,可以进行调试同时通过GPIO引脚为树莓派提供5v供电。正式版仅需要两根线为Zero供电即可。

LattePanda 获取Zero实时图像(网页)

帧率和清晰度都相当可以,拍得比较糊,大家凑合着看,看不清的想象一下。只需要在LattePanda里打开网页,地址填[pi_ip/dietpicam]即可。注意在System里设置为Default Steam比MJPEG Steam流畅。

移动设备获取Zero实时图像(网页)

和PC版基本相同,注意似乎同时只支持串流到一个设备。

移动设备获取Zero实时图像(APP)

这里可以使用免费版的IP Cam Viewer Lite(支持Android和iPhone),当然你也可以购买Pro版,不过Lite版足够使用了。ICVL内置支持RPi-Cam-Web-Interface,如图添加摄像头,修改相关参数。

PC软件获取Zero实时图像(待补充)

因为RPi-Cam-Web-Interface支持视频串流,我们可以使用VLC或者自己写软件(比如QT编写的图形界面程序)直接播放视频流,由于遇到一些问题,后面再完善相关内容。

总结

以上通过多种方式获得树莓派Zero传输过来的实时图像,并且清晰度和帧率都相当不错,符合我们的项目预期。在室外可以让树莓派或者LattePanda建立无线热点,提供两者通讯的手段,当然,WiFiDirect也可以,待求证。

进一步阅读

  • 模块成品化比较高的Pi Cam by WMAGNER|hackmypi.com
  • 给大家讲讲什么是FPV|tieba

一根数据线玩转树莓派Zero

0. 前言

原创文章,转载引用务必注明链接。水平有限,如有疏漏,欢迎指正。

本文使用Markdown写成,为获得更好的阅读体验和正常的链接、图片显示,请访问我的博客原文:

http://www.cnblogs.com/sjqlwy/p/zero_otg.html

想要上电启动Zero,所需要的最少配件包括一根MicroUSB数据线MicroSD卡。是的,不需要额外的miniHDMI线+显示器、MicroUSB电源线。那么究竟如何操作的呢,请紧张地往下看。

运行环境:Raspbian Jessie Lite 2017-02-16;Windows 7 Home Pentium x64

1. 基础知识

1.1 USB接口工作模式

Device和Host模式 (待补充…)

1.2 Zero的USB接口

标有PWR IN的是供电接口,没有数据功能;标记USB的是OTG接口,可以使用USB-OTG线接USB-Hub,继而连接鼠标键盘、有线无线网卡、U盘等其他设备。另外该接口竟然可以供电,没有看到电路图,不知道有木有保护电路,不过因为使用笔记本接口供电,另外有人这样供电搞过docker swarm 集群,所以比较放心。

1.3 USB Gadget 驱动

可以实现的功能包括:

2. 实战数据线访问Zero

2.1 烧录镜像

根据我们的需要,选用不带图形界面的Raspbian Jessie Lite下载链接发行日志) 和 dietpi下载链接发行日志)这两个操作系统,先以RJL为例,Windows使用Win32 disk imager, Linux使用dd烧录到存储卡,不再赘述。

2.2 初始设置

其实就是使用USB Gadget驱动将USB-OTG模拟为有线网卡,之前需要的设置比较繁琐,好在新版的Raspbian内核不需要额外安装补丁,可以直接启用,另外虚拟出来的和有线网卡基本一样,不像串口那样只能打开一个终端。方法如下:

# 修改boot分区里的config.txt文件,在新一行增加如下内容 
dtoverlay=dwc2 
# 修改boot分区里的cmdline.txt文件,在rootwait后面增加如下内容,注意每个参数之间空格分开,且都是在同一行 
modules-load=dwc2,g_ether

注意:关于dtoverlay的更多内容可以查看boot分区overlay文件夹的README介绍,dt=Device Tree。

在boot分区根目录创建一个文本文件,然后重命名为ssh,注意去掉.txt后缀,此时即可以 开启ssh登录(新版Raspbian的改动)。

2.3 开机上电

将MicroUSB数据线一头接在Zero USB 接口,一头连接电脑,稍等片刻即可听到“咯噔”一声,此时电脑会安装相关驱动并显示一个新网卡。我们使用远程管理软件如Xshell或Putty,服务器(host)填raspberrypi.local ,端口22,用户名pi,密码raspberry即使用SSH登录控制Zero了。

参考:

2.4 教练我还想上网

我们通过ifconfig命令可以看到获取的ip地址其实是169.254.x.x这种用于本地自动配置的保留地址,而且并不能共享主机的网络访问互联网。上面yfgeek的解决方法是使用squid代理软件,但是联想到之前写的《网线直连控制Guitar (增强版)》,使用Windows系统自带网络共享功能即可。

2.4.1 zero网络设置

# 修改/etc/network/interfaces文件,增加如下内容: 
## USB  
allow-hotplug usb0 # 允许热插拔 
auto usb0 # 开机自动连接usb0,也就是虚拟有线网卡 
iface usb0 inet static # 设置usb0使用静态ip 
address 192.168.137.2 # 设置静态ip地址,和windows的在同一网段组成LAN netmask 255.255.255.0 
gateway 192.168.137.1 # 设置网关 
dns-nameservers 114.114.114.114 # DietPi 需要设置dns服务器

2.4.2 Windows网络共享设置

在主机联网的网卡上右击选择属性——共享标签——选择虚拟有线网卡(一般带有RNDIS字样)保存即可。重启Zero,登陆后即可发现Zero可以访问互联网了。

使用ping命令查看网络连接情况:

大功告成。

3. 借鉴Beaglebone进一步完善

https://github.com/RobertCNelson/tools/blob/master/scripts/beaglebone-black-g-ether-load.sh#L28

http://www.elinux.org/BeagleBoardBeginners

https://github.com/beagleboard

4. raspberrypi.local 背后的故事

https://wiki.archlinux.org/index.php/Avahi

DietPi的设置,自动脚本安装dnsmasq|udhcpd

Pi shank