- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这里让我很头疼。我们在相距数百公里的 field 上有多个树莓派。我们需要能够安全地(大概)远程升级它们,因为本地访问的价格可能高达几百欧元。
raspis 运行 rasbian,/位于安装在 RO 中的 SD 卡上,以防止断电时损坏(通常每天一次)。 SD 卡是从相同的基础镜像克隆的,但包含手动安装的软件包和修改后的文件,这些文件可能因设备而异。 raspis 都有一个 USB 闪存作为更抗腐 eclipse 的 RW 驱动器和一个脚本来在启动时格式化它以防驱动器损坏。他们通过可靠性不同的 GPRS 连接给家里打电话。
系统要求如下:
简单的方法可能是在远程 git 存储库中保留文件系统的完整副本,在提交之间生成差异文件,将补丁上传到现场并应用它。但是,目前不同 raspis 上的文件并不相同。这意味着,至少在安装系统时,必须通过类似于 rsync -a 的方式同步文件。
该过程应该遵循“将/和 ssh 文件夹之间的差异保存到 USB 内存棒上的文件,装载/RW,从文件应用差异,装载/RO”。 Rsync 同时进行差异获取和应用,所以我的第一个问题变成了:
1 是否存在类似 rsync 的东西可以从本地和远程保存文件增量并在以后应用它们?
此外,我从来没有制作过这样的系统,而且 drawt 是“我能想到的最接近合法的”。这里有很多事件部件,我很害怕我事先没有想到的事情会导致事情变得非常糟糕。我的其余问题是:
最佳答案
是的,这是一个非常宽泛的问题。这不会直接回答您的问题,而是为您的研究提供指导。
防止文件系统损坏的一种方法是使用覆盖文件系统(例如,AUFS、UnionFS),其中根文件系统以只读方式挂载,tmpfs(基于 RAM)或基于闪存的读写挂载为“over "只读根。这需要您自己的初始化脚本,包括使用 pivot_root 命令。由于 RW 上没有安装任何重要的东西,因此系统可以稳健地处理断电。 Gist 在 pivot_root 之前,FS 看起来像
/ read-only root (typically flash)
/rw tmpfs overlay
/aufs AUFS union overlay of /rw over /
在 pivot_root 之后
/ Union overlay (was /aufs
/flash read only root (was /)
对/flash 文件系统的更新是通过将其重新挂载为可读写、执行更新和重新挂载为只读来完成的。例如,
mount -oremount,rw <flash-device> /flash
cp -p new-some-script /flash/etc/some-script
mount -oremount,ro <flash-device> /flash
您可能会或可能不会立即看到/etc 中反射(reflect)的更改,具体取决于 tmpfs 覆盖层中的内容。
您可能会发现自己大量使用 chroot 命令,尤其是当您决定使用包管理器时。快速示例
mount -t proc none /flash/proc
mount -t sysfs none /flash/sys
mount -o bind /dev /flash/dev
mount -o bind /dev/pts /flash/dev/pts
mount -o bind /rw /flash/rw #
mount -oremount,rw <flash-device> /flash
chroot /flash
# do commands here to install packages, etc
exit # chroot environment
mount -oremount,ro <flash-device> /flash
学习使用补丁 命令。有二进制补丁命令How do I create binary patches? .
要在出现所有问题时进行 super 恢复,您需要硬件支持看门狗定时器以及从备用(辅助)根文件系统进行故障安全引导的能力。
如果您想要防弹产品,预计会花费大量时间和金钱。没有捷径。
关于linux - 通过 GPRS 部署到嵌入式设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30730666/
我正在开发一个使用 GPS/GPRS/GSM 的车辆跟踪系统。我目前使用的追踪设备是 GV100,这是一款来自 Quectel ([www.quectel.com][1]) 的 GPS/GPRS/GS
我想用 GPRS 模块发送图片,并通过 TCP 连接到服务器。 但我的图片在某些字节中包含一些“1a”(CTRL+Z)值。正如我们所知,这是使用 AT 命令发送短信或数据的终止符。如何将 ctrl+z
我正在研究用于研究目的的 Telit GL-865 GSM/GPRS 调制解调器套件。我已使用串行端口将其连接到我的电脑,并使用 Putty 进行终端访问。 我可以成功执行所有 AT 命令来发送/接收
我使用的是 telit GC864-DUAL-V2 调制解调器。 我正在尝试在 Linux 中使用 chat 和 pppd 连接到 gprs 网络。我从 pppd 收到错误消息说“LCP:超时发送配置
我有一个名为 gprs 的切换按钮。我需要它来打开和关闭 GPRS。如何做到这一点?我看过here但它给出了错误,我不知道如何在我的情况下使用它。 最佳答案 好的,如果有人遇到同样的问题,我会使用切换
我有一个 GPRS tracker device我在其中安装了 SIM 卡并为网络提供了 APN。 它提到了通过 GPRS 进行通信。 公司在服务器上给你一个账户,你可以监控东西。 提供了一个应用程序
起因 曾经用过西门子出的短信猫, 好处是直接有sdk开发包, 不会硬件开发也能直接使用 缺点也是明显的, 就是只支持windows系统, 另外就是在windows下工作很不稳定, 隔开几天就
我正在尝试使用 pppd 和 AT 命令建立 PPP 连接。这通常适用于我本地提供商的 SIM 卡。但是,我收到了一位住在德国的 friend 的卡片,我想从瑞士尝试一下,但我的行为非常奇怪。 首先,
我有一项非常有趣的挑战/工作任务。我要在远离无人区的机器上监控几个 5V 灯泡(警告灯)。我正在寻找一种经济实惠的设备,其输入允许我连接到灯泡电路以判断它是否点亮。 要求: GPRS 至少两个灯泡的输
我已将 HUAWEI Gprs 调制解调器连接到我的计算机。我想接收通过我的 Delphi 应用程序发送到此设备的短信。 我不知道我该怎么做,有人能给我指出正确的方向吗 最佳答案 使用 ComPort
我正在使用 simcom900 调制解调器,我能够成功建立 GPRS 连接并将数据从我的模块发送到服务器。我正在使用 2g Airtel SIM 并且我将 APN 名称命名为“airtelgprs.c
我需要用我的安卓手机通过 GPRS 接收从 GSM 调制解调器发送的数据包...任何人都可以帮助我如何发送和接收..必须使用什么协议(protocol)? 最佳答案 在服务器启动时创建一个线程并执行以
我可以在安装 Java ME 应用程序时自动保存 GPRS 设置吗?任何人都有任何经验,请分享。 最佳答案 不,你不能拥有这个。 您可以做的是,如果无法提示用户建立对应用程序可用的 Activity
我想通过代码显示在android中检查gprs连接是否活跃我该如何检查。我有以下代码。会成功吗? public static boolean isOnline(Context context) { t
这里让我很头疼。我们在相距数百公里的 field 上有多个树莓派。我们需要能够安全地(大概)远程升级它们,因为本地访问的价格可能高达几百欧元。 raspis 运行 rasbian,/位于安装在 RO
我正在开发一个应用程序,在失去连接的情况下重新启动手机。 在此步骤之前,我们希望通过连接管理器关闭所有打开的连接。我知道我们可以使用 ConnMgrReleaseConnection释放连接,但如果连
我有一个用于启用和禁用在 API 8 和 10 中运行良好的数据的解决方案,但该代码与 ICS 不兼容,我需要一个全局解决方案,以便相同的代码必须与 API 8 兼容迄今为止的 Android 操作系
对于基于 SAGEM HiLo GPRS 的数据通信,它具有 TCP/IP 堆栈,并且有两种连接方式: (1) 使用基本的 GPRS 命令,然后通过 ppp 拨号将调制解调器连接到公共(public)
我有一个 GPS 设备,将安装在许多卡车上。我可以将设备配置为通过 gprs 向 IP 和端口发送数据语句“gps 数据,设备 id”。我正在使用 TcpListener 类来读取服务器端的数据。 T
我们正在寻求开发一个移动网站。在此移动网站上,我们希望根据用户的IP地址自动填充用户的位置(具有适当的备用地址)。我知道根据IP地址对位置进行地理编码(映射到纬度,经度,然后使用该信息获取位置)。 但
我是一名优秀的程序员,十分优秀!