8 12

Pi 实现VLC网络视频监控

安装摄像头

将Pi的原装摄像头安装在pi上面

ssh连接pi

通过xshell或者putty等工具连接ssh


安装VLC
$ sudo apt-get update    
$ sudo apt-get install vlc    

打开摄像头驱动

sudo raspi-config

选择

5 Interfacing Options  Configure connections to peripherals

Enter进入之后

 P1 Camera      Enable/Disable connection to the Raspberry Pi Camera        

Enter -> Enable

使用下面的指令查看驱动是否打开

ls -al /dev/ | grep video

如果显示如下就没有问题了

pi@raspberrypi:~ $ ls -al /dev/ | grep video   
crw-rw----  1 root video    29,   0 8月  11 20:17 fb0
crw-rw----  1 root video   245,   0 8月  11 20:17 vchiq
crw-rw----  1 root video   249,   0 8月  11 20:17 vcio
crw-rw----  1 root video   246,   0 8月  11 20:17 vcsm

可以用下面的命令拍照

raspistill -o image.jpg

打开VLC视频监控
sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264

在局域网内部的计算机上面安装VLC软件

媒体->打开网络流->输入下面地址,点击播放就可以了。

http://127.0.0.1:8090

注意IP地址是Pi的地址。

8 12

frp 搭建内网穿透

1、准备工作

  1. 一个有公网Ip的VPS或者服务器。
  2. 一个可以正常解析的域名。
  3. 内网服务器,可以直接访问的web服务。
  4. frp软件包,下载地址:
    https://github.com/fatedier/frp/releases

注意:要根据不同的平台下载不同的版本。


2、frp服务器搭建

frp 分为客户端和服务器,服务器就是具有公网ip的服务器,客户端是需要穿透的内网服务器。
1、 我们将下载到的软件包解压,里面有几个文件,我们提取“frps”和“frps.ini”到我们的服务器。
2、 打开 “frps.ini” 修改里面的参数如下所示:

        [common]
        # frp server 绑定的端口
        bind_port = 7000
        # 设置 http 访问端口为 8080
        vhost_http_port = 8080
        # 设置域名(保证此域名可用)
        subdomain_host = good-memory.top

        # 配置 dashboard(可选)
        dashboard_port = 7500
        # dashboard 用户名密码,默认都为 admin
        dashboard_user = admin
        dashboard_pwd = admin

3、 启动服务

  • linux 运行下面的指令启动服务
    sudo ./frps -c frps.ini
  • windows 指令如下:
    frps.exe -c frps.ini
    注意:一定要在frps的目录下面运行,出现错误检查平台是否正确,配置信息是否正确。

3、frp客户端安装

1、 同样的我们将下载到的文件里面 “fprc”,“frpc.ini” 文件放到我们的内网服务器里面。
2、 打开 “frpc.ini”,修改如下配置所示:

  [common]
  # 上面的公网服务器ip
  server_addr = 144.48.125.137
  # frp server 绑定的端口,和上面服务端端口相同
  server_port = 7000

  [test]
  type = http
  # 本地 web server 端口
  local_port = 8080
  # 二级域名名称
  subdomain = test

3、启动客户端 linux 运行下面的指令启动服务
sudo ./frpc -c frpc.ini
windows 指令如下:
frpc.exe -c frpc.ini


4、外网访问

用外网浏览器访问内网地址
http://test.good-memory.top:8080

8 11

MicroPython (一)点亮我的Led

工具 :

  • putty
  • F429Discovery 开发板
  • Notepad++

注意:不知道为什么 其他的终端工具有问题,推荐 putty 基本没有发现问题

putty 实时调试

  1. 使用putty 打开USB 虚拟串口,我们打开可以使用help()方法寻求帮助

输入help()如下所示

 >>> help()
Welcome to MicroPython!

For online help please visit http://micropython.org/help/.

Quick overview of commands for the board:
 pyb.info()    -- print some general information
 pyb.delay(n)  -- wait for n milliseconds
 pyb.millis()  -- get number of milliseconds since hard reset
 pyb.Switch()  -- create a switch object
                  Switch methods: (), callback(f)
 pyb.LED(n)    -- create an LED object for LED n (n=1,2,3,4)
                  LED methods: on(), off(), toggle(), intensity(<n>)
 pyb.Pin(pin)  -- get a pin, eg pyb.Pin('X1')
 pyb.Pin(pin, m, [p]) -- get a pin and configure it for IO mode m, pull mode p
                  Pin methods: init(..), value([v]), high(), low()
 pyb.ExtInt(pin, m, p, callback) -- create an external interrupt object
 pyb.ADC(pin)  -- make an analog object from a pin
                  ADC methods: read(), read_timed(buf, freq)
 pyb.DAC(port) -- make a DAC object
                  DAC methods: triangle(freq), write(n), write_timed(buf, freq)
 pyb.RTC()     -- make an RTC object; methods: datetime([val])
 pyb.rng()     -- get a 30-bit hardware random number
 pyb.Servo(n)  -- create Servo object for servo n (n=1,2,3,4)
                  Servo methods: calibration(..), angle([x, [t]]), speed([x, [t]])
 pyb.Accel()   -- create an Accelerometer object
                  Accelerometer methods: x(), y(), z(), tilt(), filtered_xyz()

Pins are numbered X1-X12, X17-X22, Y1-Y12, or by their MCU name
Pin IO modes are: pyb.Pin.IN, pyb.Pin.OUT_PP, pyb.Pin.OUT_OD
Pin pull modes are: pyb.Pin.PULL_NONE, pyb.Pin.PULL_UP, pyb.Pin.PULL_DOWN
Additional serial bus objects: pyb.I2C(n), pyb.SPI(n), pyb.UART(n)

Control commands:
 CTRL-A        -- on a blank line, enter raw REPL mode
 CTRL-B        -- on a blank line, enter normal REPL mode
 CTRL-C        -- interrupt a running program
 CTRL-D        -- on a blank line, do a soft reset of the board
 CTRL-E        -- on a blank line, enter paste mode

For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')
>>>

上面就是所有的Micro Python 帮助文档。 输入下面的指令打开一个Led。

 >>> import pyb
 >>> led = pyb.LED(1)
 >>> led.on()
 >>> led.off()
MicroPython 脱机运行

脱机运行指离开电脑独立运行,在插入USB的时候,电脑多了一个磁盘(不是Stlink V2.1),我们打开这个磁盘,里面有一个“main.py”文件。 打开这个文件,可以在里面输入如下代码

 import pyb
 while true:
     pyb.LED(1).on()
     pyb.delay(500)
     pyb.LED(1).off()
     pyb.delay(500)

保存“main.py”文件,完成复位即可。

8 11

Atom打造优雅的MarkDown 编辑器

1、下载Atom

https://atom.io/

2、安装Atom

双击自动安装,会默认安装到C盘,无法修改。

3、安装simplified-chinese-menu 插件

这是一个可以将软件汉化的插件,可选装,插件的安装方法都一样,后面都可以按照该步骤安装

  1. 点击file -> Setting 打开插件管理
  2. 点击 Install 在搜索框中输入要安装的插件 eg:simplified-chinese-menu
  3. packages 搜索插件,如果安装主题可以点击 ”Themes“ 查找主题
  4. 点击搜索到的插件后面的 Install
4、安装markdown-preview-plus 插件

同第三步安装插件,该插件可提供MarkDown 的实时预览,安装时间比较长,大约几分钟,到此为止MarkDown 编辑器基本可以使用了,可以点击菜单栏的Packages -> MarkDownPreview 实时预览Mark编辑功能。

5、推荐安装插件
  1. 同步滚动插件 markdown-scroll-sync
  2. 图片粘贴插件 markdown-image-paste
  3. 表格编辑插件 markdown-table-editor
以前的