完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本帖最后由 辉哥的歌 于 2016-5-4 00:06 编辑 1. 引言 第3讲“我的’潘多拉魔盒’ 3- USB无线网卡和VNC远程登陆”中,我们已经可以从笔记本电脑端远程登陆NanoPi M2,从而可把7寸的触摸屏去掉了。这样带来3个好处: 1) 省去了一个屏幕的空间和重量,明显轻巧化了NanoPi M2作为控制器的系统; 2) 直接使用笔记本的键盘和鼠标就可以对NanoPi M2进行操作,从而更具可操作性; 3) 屏幕去掉之后,CPU S5P4418的温度明显下降了,加上小的散热片手触不烫。 为了进一步完成我的项目“智能车多功能遥控器开发”,我需要使用NanoPi M2的GPIO做控制操作和状态反馈的输入,以及无线串口通信的输出。为了加快开发进度,简化开发过程,并不希望涉及GPIO的底层驱动开发。根据使用RaspberryPi 2B的经验,我决定使用Python作为开发语言,还有一个原因是Python有丰富的第三方库。本节原计划做Python IDE的安装和使用,但让人惊喜的是所装的Debian系统自带了Python 2.7可以直接使用,而需要做的就是安装Python第三方的GPIO驱动,而在安装过程发现,直接用NanoPi M2下载gpio 0.1.2库总死机,根本下载不了,而我手里也没有优盘。从而不得不在GPIO开发之前实现笔记本电脑和NanoPi的文件传输。因此,有了本节的两大内容: 1) Samba服务器的搭建; 2) GPIO开发初探。 2. Samba服务器的搭建 其实,关于Samba服务器的搭建在《创客秘籍》和之前NanoPi2的试用报告中均有涉及,其中大神级烧友3guoyangyang7在“跟着小狂玩nanopi2之家庭服务器篇”中有较为详细的描述。 1)创客秘籍下载:http://wiki.friendlyARM.com/wiki/index.php/NanoPi_M2/zh 2)烧友3guoyangyang7:https://bbs.elecfans.com/jishu_539890_1_1.html 本文则是站在巨人的肩膀上,进行了细化,把可能遇到的问题细节顺便再强调一下: 第1步,远程登陆VNC:通过putty登陆到NanoPi M2,效果如图1所示,过程不明的请参考第3讲“我的’潘多拉魔盒’ 3- USB无线网卡和VNC远程登陆”:
图1 通过Putty远程登陆NanoPi M2 第2步,下载安装Samba文件:输入命令sudo apt-get install samba samba-common-bin回车即可,有个前提强调一下:就是NanoPi M2一定要一定连上网络(可参考第3讲)。
图2 安装samba文件命令 第3步,建立用于共享的文件夹: 创建命令:mkdir /home/fa/share 回车 然后可从VNC上打开窗口界面(参见第3讲),可检查/home/fa下是否存在这个share的文件夹,如过存在,说明建立成功。当然也可以直接在窗口界面下直接建立共享文件夹,和windows系统建立方法一样(见图3),这里就不多赘述。
图3 直接在窗口模式下建立共享文件夹 第4步,配置Samba服务器目录文件: 使用命令:vi /etc/samba/smb.conf (如图4),回车后打开smb.conf的配置文件如图5所示,然后根据命令窗口最下方的提示按E键进入文件内部。使用上下左右键,将光标移动到图6所示位置,加入图6所示光标下方的一段命令。这里需要强调一下:在输入命令之前需使用Insert键,切换到可编辑的模式后才能输入(见图7),编辑完成后需使用ESC键退出编辑模式,然后直接输入“:wq”命令回车(见图8),即可保存编辑后退出smb.conf的配置文件。
图4 输入打开smb.conf文件的命令
图5 打开smb.conf文件
图6 进入文件内部后移动光标至此处
图7 使用Insert键切换到编辑模式添加图示[share]及下面一段命令
图8 使用ESC键退出Insert模式后输入 :wq 命令退出文件 其中,Path是步骤3中所建立的共享文件的路径,validusers是设置一个用户名,需要强调的是:这个用户名将要用于windows系统登录samba服务器时使用。 第5步,创建Samba用户名并设置密码 使用命令:smbpasswd -a fa 回车后即完成登陆密码设置,且密码为:fa,如图9所示。当然你也可以设置成其它密码,只要自己能记住就行。
图9 设置samba服务器登陆密码为fa 此式samba服务器的用户名和密码都设置完毕了,在第8步从笔记电脑端第一次登陆时需要用到: 用户名:fa 密码:fa 第6步,赋予修改权限,重启samba服务 在设置完成账户密码后需赋予share文件夹修改权限,否则以后只能看到文件夹却不能拖入文件,这里可 使用命令:chmod 777 -R /home/fa/share 回车即可 使用命令:/etc/init.d/samba restart 回车即可完成重启 第7步,从笔记本电脑端登陆samba共享文件 在笔记本电脑的windows系统下,打开网络,即可看到NANOPI2的图标,如图10所示。 这里需要强调的是:在此之前请确认你的电脑在你所连接的wifi网络下启用了网络共享的功能,如图11所示。
图10 打开网络可以看到NANOPI2图标
图11 启用文件和打印机共享 第8步,从笔记本端下载gpio 0.1.2驱动库文件并拷入到共享文件 第一次打开NANOPI2图标,会显示登陆的用户名和密码,按照第5步设置的填入即可,如图12所示。
图12 第一次登陆请输入用户名和密码 第9步,确认该文件已经到NanoPi M2的存储目录中 登陆完成后,就可以打开NANOPI2的图标看到所建立的share文件夹,如图13所示。然后将gpio-0.1.2.tar.gz和其它你想共享到NanoPi M2的文件直接拖入share文件夹即可,如图14所示。
图13 打开NANOPI2图标可看到share文件夹
图14 将gpio-0.1.2.tar.gz文件拖入share文件夹 然后从NanoPi M2系统中可以看到,共享的文件已经在share文件夹中了,如图15所示。
图15 文件成功共享至NanoPi M2中 第10步,手机登录查看samba共享文件夹 同时连接到该wifi网络下的其他设备,如手机也可以将文件进行共享,如图16所示。
图16 手机共享成功 3. GPIO开发初探 通过samba服务器搭建,完成了电脑端到NanoPiM2端的文件传输,从而将GPIO的驱动库文件gpio-0.1.2.tar.gz在无需第三方存储设备情况下,共享到NanoPi M2中。接下来就可以进行GPIO的开发使用了。 (1) 下载GPIO驱动库 使用笔记本电脑端(台式机也行),登陆网址:https://pypi.python.org/pypi/gpio/0.1.2 直接下载即可,并有相关的使用函数介绍。
图17 登陆网址下载gpio-0.1.2bar.gz库 (2) 安装GPIO驱动库 具体安装步骤如下: 1) 使用命令:cd /home/fa/share 切换到share目录下; 2) 使用命令:ls 查看share文件夹的所有文件; 3) 使用命令:tar -zxvf gpio-0.1.2.tar.gz解压gpio-0.1.2.tar.gz文件; 4) 使用命令:ls 查看share文件发现多了一个gpio-0.1.2 文件夹说明解压成功; 5) 使用命令:cd gpio-0.1.2 进入文件夹; 6) 使用命令:ls 查看gpio-0.1.2文件夹中的内容,发现有setup.py文件; 7) 使用命令:python setup.py install 安装GPIO的驱动库。 所有命令及效果如图18所示(python setup.py 后落下了 install ,请自行加上)。
图18 解压GPIO库文件 (3) GPIO初步开发示例—流水灯 1) 硬件准备及接线 所需硬件为:3个Led灯,3个电阻200Ω~ 500Ω都可以,还有四根公母排线。然后接线如图19所示。
图19 Led灯与NanoPi M2的GPIO接线图
图20 插线的GPIO的接口号如红圈所示 2) python程序编写 程序编辑有两种方式:第一是在shell中直接创建文件夹目录和程序文件;第二是在窗口模式下使用gedit文档编辑。这里主要介绍第一种,因为第二种很简单,直接打开编辑器,把程序写进去即可,文件后缀名改为.py。 在shell中使用python编程步骤如下: a) 使用命令:mkdir /home/fa/python 创建一个名为python的文件夹; b) 使用命令:cd /home/fa/python/ 切换到python文件夹下; c) 使用命令:vim Led.py 创建Led.py的文件,并进入脚本编辑模式(使用Insert键): d) 编辑程序代码如附录I所示; e) 退出脚本:先使用ESC键退出Insert模式,再输入命令“:wq”回车即可 f) 在shell中调用脚本:python /home/fa/python/Led.py 所得效果如图21~23所示,三个灯逐个点亮,并循环十次后全部熄灭。
图21 第一个等点亮
图22 第二个灯点亮
图23 第三个灯点亮
图 24 循环点亮效果 至此,本节内容讲完,实现了在无外接屏幕和第三方存储器情况下的文件传输和GPIO的初步使用开发。对GPIO驱动库的函数基本使用已经掌握,关于GPIO引脚在内核中的控制编号计算,请参考网址:https://bbs.elecfans.com/jishu_527063_1_1.html,本节不再赘述。第5讲将讲述,GPIO开发过程起到控制作用的按键的使用和对应的python编程,如过进度顺利将涉及tkinter界面的开发。 附言:由于本节内容较多,可能出现编辑错误,如有任何问题还请大家多多指教! 附 录 I 流水灯python 源程序: #!/home/fa/python import time import gpio led1 = 63 # 32 + GPIO31 = 63 led2 = 72 # 64 + GPIOC8 = 72 led3 = 71 # 64 + GPIOC7 = 71 Led = [led1,led2,led3] for x in range(3): gpio.setup(Led[x],'out') for x in range(10): gpio.set(Led[0],1) gpio.set(Led[1],0) gpio.set(Led[2],0) time.sleep(.5) gpio.set(Led[0],0) gpio.set(Led[1],1) gpio.set(Led[2],0) time.sleep(.5) gpio.set(Led[0],0) gpio.set(Led[1],0) gpio.set(Led[2],1) time.sleep(0.5) print 'good bye' gpio.set(Led[0],0) gpio.set(Led[1],0) gpio.set(Led[2],0) print 'OK'
|
|
相关推荐
16 个讨论
|
|
|
楼主太厉害了,感觉我自己弱爆了 |
|
|
|
|
|
|
|
|
我看到了魅族的系统,哈哈,方式不错,加油
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
383个成员聚集在这个小组
加入小组NanoPi m3适合刷什么系统,刚接触玩,我刷了一个比较卡
5955 浏览 1 评论
7747 浏览 1 评论
5107 浏览 1 评论
【NanoPC-T4试用体验】4、手把手教你从单片机移植驱动到ARM Linux上
8663 浏览 1 评论
【NanoPC-T4试用体验】NanoPC-T4控制步进电机
25173 浏览 1 评论
NanoPi m3适合刷什么系统,刚接触玩,我刷了一个比较卡
5955浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 17:00 , Processed in 0.933229 second(s), Total 69, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
10241