link grbl

https://github.com/grbl/grbl

https://github.com/Denvi/Candle

https://github.com/gnea

https://github.com/gnea/grbl/wiki/Using-Grbl

bCNC: https://github.com/vlachoudis/bCNC


编译及烧录grbl固件到Arduino uno

https://github.com/gnea/grbl/wiki/Compiling-Grbl

最简单的是把github的zip下载后解压,然后导入库,然后打开例子,接着编译上传就行了。

烧录arduino bootloader:

https://www.arduino.cc/en/Tutorial/ArduinoISP

grbl限位开关接法:

https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

nginx 和 frp共用80端口

之前用frp做内网穿透,把内网的服务器开放到外网。

1. 如果是http服务的话,80端口的做法是使用二级域名xxx做个A记录指一台没有nginx 之类的服务器IP,然后用浏览器打开xxx.example.com就打开了。其他端口是在frpc.ini里指定的,就加个端口号如xxx.example.com:1234就打开了,这种情况用于外网服务器已经有nginx在运行占用了80端口, 这时如果不想用端口号来打开,就要做三级域名解析,同时nginx做反向代理,把这个1234端口代理到80.

其实只要给 nginx 增加一个简单的配置,就可以将某个域名的流量转发给 frp 了,还可以通过泛解析来映射不同的网站。

配置 nginx:

上面这段写入/etc/nginx/sites-avaliable/default的最后面,监听*.frp.example.com, 并转发给127.0.0.8081, 接下来只要将frp默认监听 80 端口改成 8081 端口就好了.

配置 frp 服务端:

重点在于将 vhost_http_port 设为 8081, 还可以在common下加上dashboard相关的端口,用户,密码等信息。

配置 frp 客户端:

域名设置:

1, 增加二级域名frp的A解析,到外网服务器IP.

2. 增加三级域名泛解析*.frp的CNAME解析,到frp.example.com.

这时要做完这2个域名解析就可以用xxx.frp.example.com访问了。

参考:http://www.miss.cat/frp-use-80-port-with-nginx/

https://blog.csdn.net/qq_36560161/article/details/79646523

 

 

如果是ssh,frpc如下面配置的话,还是一样的,跟http上面讲的东西没有关系:

还是这样登录:

 

 

 

mac 刷新dns

later: sudo killall -HUP mDNSResponder

Mac OS X 10.7 – 10.8:sudo killall -HUP mDNSResponder

Mac OS X 10.5 – 10.6:dscacheutil -flushcache

Mac OS X 10.4:lookupd -flushcache

Posted in Mac

树莓派CSI摄像头

摄像头安装

参见:http://www.eeboard.com/bbs/thread-38684-1-1.html

#有问题都可以在网上找到解决方法

#raspistill  拍照

-v:调试信息查看。

-w:图像宽度           -h:图像高度                -rot:图像旋转角度,只支持 0、90、180、270 度

-o:图像输出地址,例如image.jpg,如果文件名为“-”,将输出发送至标准输出设备      常配合管道

-t:获取图像前等待时间,默认为5000,即5秒-tl:多久执行一次图像抓取

raspistill -o image.jpg        # -o 输出

 

#raspivid  录像        基本参数同拍照一样

raspivid -o mi.h264

#配合管道输出,可通过VLC输入网络串流地址查看:

sudo raspivid -o – -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin –sout ‘#standard{access=http,mux=ts,dst=:8090}’ :demux=h264 

 

http://picamera.readthedocs.io/en/release-1.2/                          # 树莓派官方摄像头文档   Picamera库

http://bbs.ickey.cn/community/forum.php?mod=viewthread&tid=45847         #部分翻译

 

转自:https://www.cnblogs.com/qqzj/p/6674629.html

树莓派安装RPi_Cam_Web_Interface做网络视频监控再3D打印个像头一体的外壳摄

参考这里设置和安装 RPi-Cam-Web_Interface, 这是一个把视频流通过网页来传送的软件,有视频录制,拍照,保存,动作捕捉,时光流等功能,基本上商业产品的功能都有了。

https://elinux.org/RPi-Cam-Web-Interface

https://github.com/silvanmelchior/RPi_Cam_Web_Interface

https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=63276

http://www.52pi.net/archives/410

使用的结果比较好,不卡,可以密码授权登陆

使用默认安装apache2,但后来密码登陆不知道什么原因不行了,一打开就显示视频,清浏览器也没有效果。

于是重装,用nginx,这下好了,直接报错/var/log/nginx/error.log 下报crypt_r() failed (22: Invalid argument)。

好吧,手动生成密码和配置nginx.

your_username和your_password改为自己想要的值。

在/etc/nginx/sites-available/default里加入

重启nginx,完成。

使用:

这套软件可玩性太强大了,可以拍照,拍视频,运动检测,计划任务,时光流拍照。

这是他的一个使用说明:http://www.raspberry-pi-geek.com/Archive/2016/15/Using-the-RPi-Cam-Web-Interface

参考:https://segmentfault.com/a/1190000004694935

加个外壳:

软件设置完成了,现在加个外壳包起来,让它真正成为一个作品吧!由于想在晚上也看得到,我选用了一个红外IR摄像头:

这个摄像头好处在于晚上或暗光情况下有光敏电阻检测从而打开红外LED灯。但外壳找了一遍网上都没有好的可以一体和树莓派合一块的壳子,于是刚好手上有3D打印机,好吧,自己设计一个壳子。先上最后出来的实物效果吧:

有了这个壳子后,摄像头就变成一个wifi相机了,面且稳稳地立着了,再也不会担心那根软排线晃来晃去断掉了!

里面是这样的:

这个小壳做得还有点样子,本着方便大家的出发点,也做了一些放淘宝上了,价格实惠,有需要的小伙伴们可以看看:

https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.59a21deb659wjP&id=573621753062

树莓派安装mjpg-streamer做网络视频监控

github官网:

https://github.com/jacksonliam/mjpg-streamer

sudo apt install cmake libjpeg8-dev

wget https://github.com/jacksonliam/mjpg-streamer.git

解压后进入:

这样就完成了

用浏览器打开IP:8080就出来了

但正如它主页里写的安全问题,这个网页不能暴露在外网,因为它没有安全权限控制,只能内网里玩玩。

WARNING: mjpg-streamer should not be used on untrusted networks! By default, anyone with access to the network that mjpg-streamer is running on will be able to access it.

 

相关的软件:

motion

fswebcam

raspistill

raspivid

 

使用Vim比较两个文件的内容

1. 使用vim的比较模式打开两个文件:
vim -d file1 file2

vimdiff file1 file2

2. 如果已经打开了文件file1,再打开另一个文件file2进行比较:
:vert diffsplit file2
如果没有用vert命令,diffsplit则会分上下两个窗口。

3. 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。
分别在两个窗口里面输入命令:
:diffthis

4. 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
:diffupdate

5. 定位到不同点:
[c     跳到前一个不同点
]c     跳到后一个不同点

6. 在窗口间跳转:
ctrl-w w    跳到下一个窗口
ctrl-w h    跳到左侧窗口
ctrl-w l    跳到右侧窗口
ctrl-w j    跳到下方的窗口
ctrl-w k    跳到上方的窗口

7. 合并文档:
dp          将差异点的当前文档内容应用到另一文档(diff put)
do          将差异点的另一文档的内容拷贝到当前文档(diff get)

8. 上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以这样设置:
:set diffopt=context:3

zf   创建折叠(使用数字表示创建有当前行到下多少行的折叠,比如3j就创建包括4行的折叠)
zo   打开折叠(l也可以打开折叠)
zc   关闭当前折叠
zm   关闭所有折叠
zr   打开所有折叠
zE   删除所有折叠
zd   删除当前折叠
za   若当前打开则关闭,若当前关闭则打开
zj   到下一折叠的开始处
zk   到上一折叠的末尾

树莓派csi接口摄像头没显示在/dev/video0

树莓派中的camera module是放在/boot/目录下以固件的形式加载的,不是一个标准的v4l2的摄像头ko驱动,所以加载起来之后会找不到/dev/video0的设备节点。这是因为这个驱动是在底层的,v4l2这个驱动框架还没有加载,所以要在/etc/modules里面添加一行bcm2835-v4l2(是4L2,不是412,小写的L),这句话意思是在系统启动之后会加载bcm2835-v4l2这个模块,这个模块在树莓派系统的/lib/modules/xxx/xxx/xxx下面,添加之后重启系统,就会在/dev/下面发现video0设备节点了。

参考:https://blog.csdn.net/cient007/article/details/52022406

树莓派网络接口名变了

一直接口名都是如wlano, wlan1, eth0, eth1这样的,今天新装了一个系统, 用ifconfig看到的是这样的wlxe84e0626bd4a这样的接口名, 查了一下参考:

https://ubuntu-mate.community/t/something-is-renaming-my-eth0-and-wlan0-interfaces/2884/7

/boot/cmdline.txt文件里加入

保存重启,就可以重新显示之前的名称了。