天道酬勤,学无止境

raspberry-pi3

在 armV7 中计算字符串中的字符(Counting Characters in a String in armV7)

问题 我的程序应该要求单行用户输入,然后打印出字符串中的字符数。 截至目前,当我输入 hello 后跟分段错误时,它告诉我有 104 个字符。 这是我的代码: userInput: .asciz "\nEnter a string: " TemptRet: .word 10 inputBuffer: .skip 11 countMessage: .STRING "There are %d characters in: \"%s\".\n" .text .global main main: LDR R0, =courseStr BL puts countString: LDR R0, =userInput BL printf LDR R0, =TemptRet BL scanf getLine: MOV R2, R0 BL getchar LDR R2, =inputBuffer MOV R1, R0 LDR R0, =countMessage BL printf 回答1 一些建议。 您使用scanf读取字符串将在输入的第一个空格处停止。 相反,您可以使用fgets ,它看起来有点复杂,但了解 ARM 过程调用约定非常容易。 其次,将您的.data部分移到末尾并以push {ip, lr}开始,以便您的例程可以以pop {ip, pc} 。 考虑在程序集中使用注释来了解每行的作用。

2021-10-27 01:56:18    分类:技术分享    assembly   arm   raspberry-pi3

不明白为什么我没有从我的 raspberry pi 3 接收到任何 rssi 数据到我的服务器(Not understanding why I am not receiving any rssi data from my raspberry pi 3 to my server)

问题 我在尝试从我的 raspberry pi 3 显示 RSSI 值以在我的服务器上显示时遇到问题。 连接成功,如您所见,我已经能够成功连接我的客户端和服务器,但没有显示 rssi 数据。 以下代码是我从 pi 执行的代码: var noble = require('noble'); //replace localhost with your server's IP; var socket = require('socket.io-client')('http://localhost:3000/scanner'); //replace with your hardware address var addressToTrack = '7c669d9b2dda'; socket.on('connect', function(){ console.log('connected to server'); }); noble.on('discover', function(peripheral){ if(peripheral.uuid == addressToTrack){ socket.emit('deviceData', {mac: peripheral.uuid, rssi:peripheral.rssi}); } }); noble.startScanning([], true)

2021-10-26 23:08:41    分类:技术分享    node.js   socket.io   raspberry-pi3   rssi

将 Python 脚本中的数据通过管道传输到 .csv 或 .txt 文件中(Piping data from a python script into a .csv or .txt file)

问题 我想监测我公寓内的空气质量(楼下的邻居是一个狂热的吸烟者)。 为此,我有一个与 Enviro+ 相连的 Raspberry Pie 3 Model B+。 在终端中,我可以运行测量小颗粒的脚本。 python particulates.py .py 参见。 https://github.com/pimoroni/enviroplus-python/blob/master/examples/particulates.py 然后它运行并在终端中显示数据,如下图所示:(是的,我更擅长乐高,而不是编码)。 我有兴趣在文本文件或 csv 中记录数据,所以我在想是否有办法将屏幕上显示的数据直接传输到 csv 或 txt 文件中。 我知道,我可能可以编写一个简单的 Python 脚本,使它既美观又紧凑,但是我听到很多关于在 Linux 中使用 pipping 的赞美,我想尝试一下。 此外,我在一个论坛上看到: Awk和Sed是您的 Shell 脚本朋友。 在 Linux 中一切都是文件,Awk 和 Sed 可以编写/编辑文件。 每个 Linux 操作系统都带有可怕的旧东西,并且可以正常工作。 如果您使用网络服务器,则不需要所有 x11 桌面膨胀的东西,只需要一个无头的 Linux 操作系统。 轻松将所有这些都安装在 128MB 的卡上。 Busybox 有一个网络服务器

2021-10-26 21:55:01    分类:技术分享    python   shell   csv   pipe   raspberry-pi3

使用 gradle 在树莓派上运行 javafx11 时出错(Getting errors when runing javafx11 on raspberry pi using gradle)

问题 我能够构建我的 javafx11 应用程序,但是在使用./gradlew run运行它时出现错误 我收到的错误说明无法打开 DISPLAY 我已经尝试过仅在终端上安装 raspbian 和完整的桌面安装。 到目前为止,我已经完成了这些事情:1) 安装 bellsoft full jdk 2) git clone gradle 项目 3) ./gradlew run 我究竟做错了什么? 回答1 没关系,经过很多很多的谷歌搜索,我想通了。 我最终使用了nodm 。

2021-10-26 14:04:10    分类:技术分享    gradle   raspberry-pi3   java-11   gradlew   javafx-11

UWP C# UART RS485 通信问题(UWP C# UART RS485 Communication Issue)

问题 我一直在使用 Windows IoT Core 测试 RaspberryPi3,以便通过 RS485 与我现有的飞思卡尔硬件进行通信。 我一直在使用 SerialUART 示例作为参考。 在我的 UWP 成功初始化 UART 端口后,我似乎无法接收硬件传输的 RS485 数据。 我的硬件 RS485 UART 配置为 4800 波特率、8 位数据格式、非奇偶校验和停止等待模式禁用。 我设法在 UWP 示例上成功 init 4800-8-none-one但硬件传输的数据不会触发并显示在Read Data text block 。 从我的硬件传输的数据是十六进制的,即F5-01-55-4B 传输过程中出现错误。 RS485 电路如下。 请告知我是否遗漏了什么? 谢谢。 回答1 可以参考以下代码。 请注意, ReadString方法需要一段长度的“代码单元”才能读取。 这就是在“在线”时每个字符串前面都有其长度的原因。 在您的场景中,您无法确保从硬件以代码单元传输的数据。 我不确定您是否可以接受在 TextBox 中以十六进制格式显示数据。 private async Task ReadAsync(CancellationToken cancellationToken) { Task<UInt32> loadAsyncTask; uint ReadBufferLength =

2021-10-25 07:17:32    分类:技术分享    uwp   raspberry-pi3   uart   windows-iot-core-10   rs485

UWP C# UART RS485 Communication Issue

I have been testing RaspberryPi3 with Windows IoT Core to communicate with my existing FreeScale Hardware via RS485. I have been using SerialUART sample as reference. After my UWP successfully init the UART port, I don't seems to be able to receive the RS485 data transmitted by my hardware. My hardware RS485 UART are configured at 4800baudrate, 8-bit data format, non-parit & stop-in-wait-mode disabled. I managed to successfully init 4800-8-none-oneon UWP sample but the data transmitted by the hardware does not trigger and display on Read Data text block. The data transmitted from my hardware

2021-10-25 00:31:55    分类:问答    uwp   raspberry-pi3   uart   windows-iot-core-10   rs485

Why is my Postgres database working for a while and then not able to "start server" once restarted?

Recently, I've started playing around with an old Raspberry Pi 3 b+, and I thought it would be good practice to host a Postgres database on my local network and use it for whatever I want to work through. I understand that running Postgres on a Raspberry Pi with 1GB of memory is not ideal and can take a toll on the SDcard, but I've updated the postgresql.conf file and specified that the data directory path is to utilize a 1TB SSD. Additionally, I've installed zram and log2ram to try and curb some of the overhead on SDcard. Overview of tech I'm working with: Raspberry Pi 3 B+ Postgres 12 Ubuntu

2021-10-25 00:24:31    分类:问答    linux   postgresql   raspberry-pi3   ubuntu-20.04   postgresql-12

投影随机图像/蒙太奇(Projecting random images/montages)

问题 我正在处理从一个大文件夹(超过 50,000 个不同大小的 jpeg)中选择随机图像的安装。 我已经在这里发布并收到了帮助:Shell script to open random jpegs with ImageMagick #!/bin/bash # Get list of files into array - just once at start files=(*.jpg) # Do forever first=0 while :; do # Shuffle array files=( $(shuf -e "${files[@]}") ) # Make montage of first 5 images in shuffled array montage -background '#000000' ${files[0]} ${files[1]} ${files[2]} ${files[3]} ${files[4]} ${files[5]} ${files[6]} mon$ # Start displaying if first pass - leaving "display" running in background updating itself every second if [ $first -eq 0 ] ; then display -update 1

2021-10-24 23:23:43    分类:技术分享    shell   imagemagick   raspberry-pi3

将我的 QT 应用程序交叉编译到 raspberry-pi3 时如何修复未知错误(How to fix an unknown error when cross compiling my QT application to raspberry-pi3)

问题 我的程序(QT/C++)正在使用 python 模块从谷歌驱动器下载一些视频,它工作得很好,但我无法为 raspberry pi3 交叉编译它。 我是 Raspberry 的 QT Cross Compile 新手,但在任何地方都找不到解决此错误的方法: #define _POSIX_C_SOURCE 200112L ^ In file included from /opt/qtrpi/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/os_defines.h:39:0, from /opt/qtrpi/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/c++config.h:426, from /opt/qtrpi/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm

2021-10-24 15:19:25    分类:技术分享    c++   python-2.7   qt   raspberry-pi3   cross-compiling

带有 bindservice 和 kotlin 的 Android Things - onResume 和 onPause 或 Coroutines 或 RxJava(Android Things with bindservice and kotlin - onResume and onPause Or Coroutines Or RxJava)

问题 在这个项目中:https://github.com/neuberfran/SmartDrive5,文件: ModoComFirebase.kt我有问题 BCM18 已经被 PID 使用,因为这个 gpio 之前是在DriverService.kt文件中打开的。 我的问题是:应用程序类ModoAutomatico.kt没有 onPause 和 onResume 方法。 在这种情况下如何使用前台服务来解决我的问题? 回答1 Application 类 ModoAutomatico.kt 没有 onPause 和 onResume 方法。 这是因为 Application 类是一个单例。 它会在您的应用程序启动后启动,并且永远不会暂停、停止或销毁。 由于您已从应用程序绑定DriverService ,这意味着您的服务也始终在后台运行(除非它崩溃)。 BCM18已经被PID使用了,因为这个gpio之前是在DriverService.kt文件中打开的。 您一次只能有一个与外围资源的活动连接。 如果要使用已在另一个组件中打开的 GPIO,则必须先close()活动的 GPIO 连接,然后才能打开新的连接。 如果您要在一个服务中管理所有按钮连接,那么应用程序的其余部分应该与该服务通信以与这些外围设备进行交互,而不是尝试处理多个 GPIO 连接。

2021-10-24 14:50:54    分类:技术分享    android   kotlin   raspberry-pi3   android-things   bindservice