amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 1355|回复: 24

go语言玩转树莓派之摄像头篇

[复制链接]
发表于 2018-11-4 08:29:37 | 显示全部楼层 |阅读模式
本帖最后由 FireBrain 于 2018-11-4 08:42 编辑

用go语言调用shell命令,每隔10s录一段10分钟的视频,并以时间命名视频文件名。代码如下:
  1. package main

  2. import (
  3.         "fmt"
  4.         "os/exec"
  5.         "strings"
  6.         "time"
  7. )

  8. func main() {
  9.         for {
  10.                 time.Sleep(time.Second * 10)
  11.                 str := time.Now().Format("2006-01-02 15:04:05")
  12.                 str = strings.Replace(str, "-", "", -1)
  13.                 str = strings.Replace(str, ":", "", -1)
  14.                 str = strings.Replace(str, " ", "", -1)

  15.                 cmd := exec.Command("/bin/bash", "-c", "raspivid -o "+str+".h264 -t 600000")
  16.                 err := cmd.Run()
  17.                 if err != nil {
  18.                         fmt.Println(err)
  19.                 }
  20.         }
  21. }
复制代码



每隔10秒拍摄一张照片
  1. package main

  2. import (
  3.         "fmt"
  4.         "os/exec"
  5.         "strings"
  6.         "time"
  7. )

  8. func main() {
  9.         for {
  10.                 time.Sleep(time.Second * 10)
  11.                 str := time.Now().Format("2006-01-02 15:04:05")
  12.                 str = strings.Replace(str, "-", "", -1)
  13.                 str = strings.Replace(str, ":", "", -1)
  14.                 str = strings.Replace(str, " ", "", -1)

  15.                 cmd := exec.Command("/bin/bash", "-c", "raspistill -o "+str+".h264 -t 1")
  16.                 err := cmd.Run()
  17.                 if err != nil {
  18.                         fmt.Println(err)
  19.                 }
  20.         }
  21. }
复制代码

实时更新请关注码云连接https://gitee.com/kekemuyu/raspberry
发表于 2018-11-4 09:17:38 来自手机 | 显示全部楼层
为啥用go,树莓派官方不是有Python库并且可以完成一系列这种操作么
 楼主| 发表于 2018-11-4 09:19:34 | 显示全部楼层
qiqirachel 发表于 2018-11-4 09:17
为啥用go,树莓派官方不是有Python库并且可以完成一系列这种操作么

不用纠结语言,自己熟悉用哪种语言就用哪种,能实现功能就行。
发表于 2018-11-4 09:27:38 | 显示全部楼层
FireBrain 发表于 2018-11-4 09:19
不用纠结语言,自己熟悉用哪种语言就用哪种,能实现功能就行。

主要是shell指令太少啊,不如import Python库来干活快又多
 楼主| 发表于 2018-11-4 09:31:59 | 显示全部楼层
qiqirachel 发表于 2018-11-4 09:27
主要是shell指令太少啊,不如import Python库来干活快又多

我只能说各有所爱,
发表于 2018-11-4 16:12:54 | 显示全部楼层
FireBrain 发表于 2018-11-4 09:19
不用纠结语言,自己熟悉用哪种语言就用哪种,能实现功能就行。

你学go多久了?
 楼主| 发表于 2018-11-4 16:32:38 | 显示全部楼层
本帖最后由 FireBrain 于 2018-11-4 16:36 编辑



2016年下半年开始,断断续续有2年了吧. 入门是从无闻的《go编程基础》视频开始学的,挺好的教程,全是干货,偶尔遇到不会的,还时常看看。强烈推荐入门学习,我花了一周时间看完视频,就开始做小项目了,有c语言基础,go语言入门很快的。
发表于 2018-11-4 16:40:15 | 显示全部楼层
FireBrain 发表于 2018-11-4 16:32
2016年下半年开始,断断续续有2年了吧. 入门是从无闻的《go编程基础》视频开始学的,挺好的教程,全是干 ...

你用go做过什么比较大的项目呢
 楼主| 发表于 2018-11-4 16:45:05 | 显示全部楼层
meerlin 发表于 2018-11-4 16:40
你用go做过什么比较大的项目呢

大项目应该是没有,小项目做过不少。怎么?你也是gopher?
发表于 2018-11-4 23:20:31 | 显示全部楼层
FireBrain 发表于 2018-11-4 16:45
大项目应该是没有,小项目做过不少。怎么?你也是gopher?

gopher什么意思
发表于 2018-11-4 23:21:48 | 显示全部楼层
FireBrain 发表于 2018-11-4 16:45
大项目应该是没有,小项目做过不少。怎么?你也是gopher?

做过啥小项目啊
发表于 2018-11-4 23:22:28 | 显示全部楼层
楼主厉害了哈
 楼主| 发表于 2018-11-5 03:21:51 来自手机 | 显示全部楼层
meerlin 发表于 2018-11-4 23:20
gopher什么意思

Gopher表意是地鼠,go语言的吉祥物。泛指go语言爱好者
 楼主| 发表于 2018-11-5 03:36:58 来自手机 | 显示全部楼层
meerlin 发表于 2018-11-4 23:21
做过啥小项目啊

举个有意思的例子,远程控制(通过服务器中转方式),几台电脑连上服务器后,任何一台可以通过命令控制其他电脑,比如查看文件目录,远程上传下载等。都是通过命令执行的,所以速度很快。
发表于 2018-11-5 08:41:50 | 显示全部楼层
FireBrain 发表于 2018-11-5 03:36
举个有意思的例子,远程控制(通过服务器中转方式),几台电脑连上服务器后,任何一台可以通过命令控制其他 ...

可以共享一下视频嘛
发表于 2018-11-6 11:00:21 | 显示全部楼层
GO有谷歌的加持,前途无限!
链接:https://pan.baidu.com/s/15m4kS0q4kFTTmBu6CHHHfg
密码:wd7a
发表于 2018-11-6 16:33:37 | 显示全部楼层
语言太多了,跟不上了。
发表于 2018-11-6 16:40:11 | 显示全部楼层
是的跟不上节奏
发表于 2018-11-7 07:33:53 | 显示全部楼层
FireBrain 发表于 2018-11-5 03:36
举个有意思的例子,远程控制(通过服务器中转方式),几台电脑连上服务器后,任何一台可以通过命令控制其他 ...

实现了关机功能?
 楼主| 发表于 2018-11-7 22:44:53 来自手机 | 显示全部楼层
meerlin 发表于 2018-11-7 07:33
实现了关机功能?

可以实现所有命令,因为它是从服务器获取命令然后在本机运行
发表于 2018-11-8 14:46:28 | 显示全部楼层
FireBrain 发表于 2018-11-7 22:44
可以实现所有命令,因为它是从服务器获取命令然后在本机运行

是否可能存在安全问题?
发表于 2018-11-8 15:25:12 来自手机 | 显示全部楼层
flystone 发表于 2018-11-6 11:00
GO有谷歌的加持,前途无限!
链接:https://pan.baidu.com/s/15m4kS0q4kFTTmBu6CHHHfg
密码:wd7a ...

留个爪印
发表于 2018-11-14 13:37:36 | 显示全部楼层
我也留一个
发表于 2018-11-16 05:07:09 来自手机 | 显示全部楼层
Go 用起来很爽,特别是跨平台。当然除了目标文件个头大点。
发表于 2019-1-31 10:15:23 | 显示全部楼层
哈哈,第一次在这里发现gopher, 玩树莓派,估计不得不提go-rpio
选go的原因简单粗爆,和c无限接近.
上手仅需一个周
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-10-21 09:41

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表