树莓派 python 如何将本地文件上传到指定的服务器页面上

树莓派 python 如何将本地文件上传到指定的服务器页面上,第1张

以下是单个文件的,不确定你的文件夹是什么意思,可以压缩下再上传(方法一样,调用zip命令)

我的实现方法:调用终端的curl,以下为代码平片段,实现的功能是上传log文件到服务器,供参考:

def post_log(self, post_url, del_source_file=True):
        '''
        post log to log server
        '''
        if selflog_path:
            command = "curl -s -F log=@{0} {1}"format(selflog_path, post_url)
            return_str = ospopen(command)read()
            loggingdebug(return_str)
            # print return_str
            if return_str == "success":
                if del_source_file:
                    del_command = "sudo rm {0}"format(selflog_path)
                    ossystem(del_command)
                return True
            else:
                return False
        return False

我的实验环境:

1交叉编译工具链:gcc-linaro-arm-linux-gnueabihf-48-201404_linux(482)tarxz
2SDK文件:MarsBoard-A20-Linux-SDK-V11tarbz2

在安装gcc-arm-linux-gnueabi的时候,会自动安装上gcc-46-arm-linux-gnueabi,如下图所示:

第二个文件的安装很重要,尽管后面提示的编译错误,缺少的是arm-linux-,但是安装这个文件还是挺好用的。

根据前面安装的一些安装包,其实本节的交叉编译工具链可以不用 *** 作。因为已经包含了本节所做的了。

我得先将vim改一下,否则按住上下左右,会出现A,B,C,D。

再/etc/profile最后一行添加内容:

然后:

这里做一些简要的说明,在网址: 链接 上有一些说明,从说明中,我们可以看到我们用的sdk的架构。

pack文件夹

选择2,server版本。

之后:

能找到的livesuit_marsboard_a20_debianimg就是生成的镜像文件。如果要修改名字,可以:

这里面就包含了imagecfg,找到里面的一项:

修改为其他的名字即可。

选择2,server版本。

1若出现如下报错:

可以:

如果出现:

但是其实这些文件都是有的,可以不妨:

再次编译,则问题如下:

仔细找编译的shell输出文件,发现是rootfs/下的gz文件找不到,这是因为我做前面的 *** 作的时候,希望生成自己的rootfs_mytargz文件。现在我重新将该文件放到rootfs/下,再次编译,我将最后的结果放在下面:

这样表示成功了。

下面列入生成的镜像:

livesuit_superpi3img即是。

1我在做上面的 *** 作的时候,夹杂的使用了两个开发板,一个是marsboard出品的a20开发板,另外一个是风火轮出品的a20树莓派3卡片电脑,说实在的,看起来风火轮附带板子资料挺多,但是其真正写的资料可没用心做,实在不是一个榜样,在该开发板上做非核心开发,是可以的,但是做研发,还是需要做考量。

烧写成功后,打印的内容如下,作为日志信息,留作以后分析:

树莓派3B+可以设置为路由器,如果设置好了就可以支持无线桥接,不过如果楼主想稳定使用建议还是购买专业的路由器产品。
楼主说的这个无线网转有线网是路由器的“无线桥接”功能,要使用无线桥接模式需要两台路由器:一台作为桥接设备,另一台作为路由器设置,台式机电脑有线连接桥接设备,桥接设备和路由器之间通过无线连接。

这次安装he隧道的过程真的是充满了艰辛,来来回回折腾了好几天,各种查资料和发邮件发帖求教,相当心累了。

先大概说下我对he隧道的理解吧,这是一个6in4的协议,即把ipv6数据包封装在ipv4包里进行通信。流程简述如下:

要完成这个过程需要以下几个地址都是可访问的:

至于最后客户端的ipv6地址,用途是给外网的ipv6服务器做身份标识,比如在test-ipv6com的测试中,展示的本机ipv6地址就是这个client ipv6 address。

说完大致的原理,来看下给树莓派创建he隧道的过程。

先保证自己有一个可ping通的公网ip,详情可以咨询自己的运营商。

登录he的官网: tunnelbrokernet,注册账号啥的就不说了,直接点击创建隧道,这里有两种,我们选第一个regular tunnel就可以了。然后是填公网ip和服务器地址,事先可以测试一下各个服务器的延迟,具体教程很多这里就不重复了。

然后是重点:隧道创建完成后一定要先确认server ipv6 address是外网可Ping通的,不然结局就是我们本地可以发送ipv6数据到服务器,但是收不到任何响应,因为服务器的ipv6不通就表示外网的服务进不来。

推荐一个测试网站: >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13401173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存