- 博客(35)
- 收藏
- 关注
原创 基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(四):树莓派端代码结构优化
基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(四):APScheduler优化树莓派端任务管理优化定时发送数据基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派优化定时发送数据在之前我们实现的发送数据中,数据在主线程循环发送,通过time.sleep()来进行延时。那么问题就来了:如果我们发送的不止一个MasterControl的数据呢?如果每一种数据发送的时间间隔不一样呢?以及通过while True阻塞了主线程,要干些别的事情怎么办
2021-11-18 11:53:15
3390
5
原创 基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(三):树莓派websocket的发送
基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(三):树莓派websocket的发送思路/接口说明WebSocket数据类网络延迟类思路/接口说明根据后端定义的…等等python的json库不是通过类来解析json数据的…所以我们要时刻牢记数据类型,或者直接封装一个函数:import jsondef getMsg(toPlatform, msgType, text): msg = dict(type = 1, toPlatform = toPlatform, m
2021-11-01 20:04:27
1744
原创 基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(二):Swift控制端搭建,网络延迟显示
基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(二):Swift控制端搭建瞎扯不想看我瞎扯直接跳到这思路/接口说明代码实现创建工程以及导入库创建工程导入库网络延迟计算数据类定义发送(暂时用不上,因为暂时没有发送功能)接收工厂模型网络延迟工厂WebSocket说明瞎扯为什么你要用苹果平台不搞安卓/Windows呢?主要是苹果生态比较完善,Swift直接跨所有设备,加上我手上没有安卓设备和Win的PC。(PC装的是Ubuntu)那你跨平台为什么不写前端或者flutter之
2021-11-01 19:38:38
3805
原创 基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派
基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派瞎扯不想看我瞎扯跳到这介绍实现内容(iWatch也是可以的不过我并没有设备所以就没有实机测试)瞎扯单纯的个人练手写着玩的项目不想看我瞎扯跳到这介绍该项目分为三部分:后端,控制终端以及被控制设备;后端:云服务器(Springboot)控制终端:Apple设备(Swift)被控制设备:树莓派(Python脚本)(实际上任何支持Python脚本的设备都可以)实现内容先搞点简单的;树莓派收集自身CPU占用、内存占用
2021-11-01 18:27:19
3098
原创 基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(一):Springboot后端搭建
基于websocket的跨平台通信——iPhone/iPad/Mac控制树莓派(一):后端搭建思路/接口说明后端代码参考了这位大佬博主的文章:发送数据到后端的接口后端发送数据格式实现工程创建等配置Config文件WebSocketConfig.javaFJsonConfig.java参数类代码后端接收信息参数类后端发送信息参数类WebSocket业务处理代码成品部署测试思路/接口说明后端采用Springboot框架开发;由于涉及到跨平台、多种语言的开发,为了避免今后对后端频繁的更改导致频繁的部署,后端
2021-11-01 18:25:18
1864
1
原创 IDEA工程无法创建java文件、无法识别且运行
IDEA工程java文件无法识别且运行如题解决方法:如题新建的工程java类中的代码全是橙色,并且在创建java类的时候会有如下报错:解决方法:打开 IntelliJ IDEA -> Preferences(Windows下的File -> settings)在Editor -> File Types中找到Java,然后点上面那个加号,在弹出框输入*.java:点击OK并Apply之后就行了。这个方法只适用于在上图java的File name patterns中没有*.
2021-07-22 15:15:54
976
原创 Django channels nginx+uwsgi+daphne 项目部署
Django channels nginx+uwsgi+daphne 项目部署上传服务器安装工具nginx运行问题上接:Django channels摄像头实时视频传输我的思路(也是大多数的方案选择)是uwsgi用于处理http请求,daphne用于处理websocket请求。上传服务器首先咱得有一台服务器,华为阿里腾讯云什么的都行。当然也能直接内网穿透,但带宽小的一批,不在这篇文章的讨论范围之内。然后把Django项目根目录下的同名文件夹中的setting.py中这么两行改成如下:一般是在
2021-06-22 12:30:07
1470
3
原创 Spotmicroai机械狗初上手——组装测试踩坑(二)
Spotmicroai机械狗初上手——代码阅读说明spotmicroai/utilities文件夹log.pyconfig.pyqueues.pyrun.shspotmicroai/main.pyAbortControllerMotionController你问我为什么还是不写组装?当然是组装完了出bug没解决狗子动不了呗说明这里我们不讨论代码结构是否合理;我们只是单纯的把代码读完。以及虽然按照正常的阅读顺序我们要从我们直接运行的run.sh文件开始阅读,但是为了避免重复说明以及阅读清晰,我这里会
2021-06-01 12:08:48
2220
4
原创 Spotmicroai机械狗初上手——软件准备(一)
Spotmicroai初上手——软件准备前言Spotmicro介绍准备资料安装踩坑raspi-config蓝牙连接手柄no module named busio(无法导入busio等)Permission denied: '/dev/i2c-1'没了你问我为什么不先写组装?虽然所有部件都已经到手了,但是我就是连电烙铁都懒得插上前言我的一位公选课老师不知道为什么对四足机器人尤其是机械狗特别情有独钟;在她每节课的熏陶下了解到了机械狗这个东西。结果这老师口嗨已经满足不了她了,硬要挑几个人跟她一起搞机械狗
2021-05-27 16:31:03
2789
2
原创 Django channels摄像头实时视频传输
Django channels摄像头实时视频传输(视屏能传别的当然也能传拉)前言不想看我瞎扯可以直接跳到这服务端步骤解释发送端接收端运行前言我一直想做一辆能够远程监控/操作的无人车(在学校里面送货赚钱)(乐);只是一直由于我的懒惰没有付诸行动。但是前几天我的自行车被偷了;气急败坏之下用opencv写了一个实时行人识别,树莓派摄像头架宿舍停车棚识别监控里面骑走我车的那个逼。但我遇到了第一个问题:联网实时监控。反正都是实时监控,一时的冲突给了我动力,我就迈出了造车的第一步了。(网上绝大多数博客都是发
2021-05-02 04:22:15
6776
17
原创 MacBook合上显示器继续播放音乐
MacBook各种使用小技巧合上显示器继续播放音乐慢慢记录合上显示器继续播放音乐打开Terminal,输入sudo pmset -a disablesleep 1作用为防止系统休眠;恢复则反之:sudo pmset -a disablesleep 0
2021-04-25 02:48:19
5669
1
原创 SwiftUI应用中心项目(一)——布局设计
SwiftUI应用中心项目(一)——布局设计需求布局大致设计核心代码需求大致效果如下图:黑框为选中的一个section,红框为选中的一个应用,可以有多个section,每个section中又可以有多个应用;每个section中的应用由本地应用列表+远端下发应用列表共同组成,远端下发的应用可以再本地应用之前也可以在本地应用之后,这由远端配置动态决定;远端下发的应用列表要有缓存,当打卡首页时首先加载缓存,然后再延迟拉取远端新的应用列表;应用的icon图片、文字、背景适配暗黑模式。注:应用图标
2021-04-24 02:57:12
359
原创 OpenCV Python印章提取
opencv红色印章提取前言不想看我瞎扯可以直接跳到这说明:前言大一误入学生会,现在经常被指派各种奇奇怪怪的事情。比如一觉醒来,打开手机一看,13:30晚六点以前要提交我院的一个比赛报名表前几天都想着不急还早明天再找导员盖章,结果导员趁我睡觉的时候偷偷跑出去找男人出差了要是我一个人的比赛那无所谓;但是是学院级的话,报名不通过我会死的很惨以及我并不会使用PS工具(没对象,不自拍,没有P图需求)我仿佛已经看到了社死+学业警告的结果在等着我思考这些我花去了一个小时,而且一直躺在床上。突然
2021-04-23 00:50:26
5884
4
原创 Clustering by fast search and find of density peaks论文密度峰值聚类算法学习与Python代码实现
Clustering by fast search and find of density peaks学习与其Python代码实现(马房山实验报告大学数据挖掘大作业)不想看我瞎扯可以直接跳到这算法分析代码说明不想看我瞎扯可以直接跳到这算法分析以后再放上来。参考:https://blog.youkuaiyun.com/itplus/article/details/38926837代码说明代码参考:https://blog.youkuaiyun.com/kryolith/article/details/39832573
2021-04-20 04:10:08
1556
6
原创 M1处理器Mac运行pod install报错解决
M1处理器Mac运行pod install报错解决解决方案12通常使用M1芯片在运行pod install时都会遇到这种报错;在报错中已经把三种可能性的解决方案网址放出来了。missing compatible arch in …https://github.com/CocoaPods/CocoaPods/issues/10541(指令集兼容问题,没遇到过)I got error when doing pod install, something to do with M1 chiphtt
2021-04-19 11:19:04
2310
原创 CoreData报错:RemoteHumanReadableError: Failed to update preview.
CoreData报错:Fetch Request must have an entity解决方案现象为Xcode的实时预览无法工作,出现以上报错。解决方案我使用的环境为SwiftUI,生命周期为SwiftUI App;我的环境中将CoreData内添加了一个实体对象,但是并未向CoreData中写入任何数据;根据它的报错来看,我在Persistence.swift的preview: PersistenceController中向需要引用的实体初始化并添加了一个全为nil的实体,问题得到解决。我
2021-04-08 01:49:50
660
原创 SwiftUI应用开屏广告界面项目(三)
SwiftUI应用开屏广告界面项目(三)需求源码ContentView.swiftSandBox.swiftCoreData需求/思路分析func saveImage()func isExist()func addAd()func fetchRemoteImg()不足SwiftUI应用开屏广告界面项目(二)需求在(二)的基础上,添加以下需求:拉取到远端数据之后,如果发现此次开屏活动还没有过期,则将图片下载到本地,并进行相关配置,使得下次开屏可以正常显示开屏活动图片。源码ContentView.s
2021-04-04 21:35:41
686
原创 SwiftUI应用开屏广告界面项目(二)
SwiftUI应用开屏广告界面项目(二)需求思路SwiftUI应用开屏广告界面项目(一)需求在(一)的基础上,添加以下需求:远端同时提供活动页图片需显示的次数,图片显示次数到达限制之后不再显示;当有多个开屏活动存在是,选择最新的一个展示。思路根据此次需求来看,工程需要用到数据保存功能。在Swift中数据存储通常采用Sqlite或者CoreData两种方式;由于我的数据库老师因为某些人格魅力上的问题导致整个班对数据库的操作全靠自学,我对Sqlite并不熟悉;而看到CoreData是Xcode自带
2021-04-04 04:09:34
546
原创 SwiftUI应用开屏广告界面项目(一)
SwiftUI应用开屏广告界面(3秒跳转)瞎扯不想看我瞎扯可以直接跳到这需求源码思路分析页面跳转计时远程图片获取瞎扯最近开始玩Swift试试macOS和iOS开发我都快忘了我是啥专业的了不想看我瞎扯可以直接跳到这需求模拟开屏广告的模式,为应用做一个开屏活动页,远端提供活动页图片;图片经过3s倒计时后消失,用户可以点击“跳过”按钮提前结束;源码废话不多说,先直接上源码。工程中只修改了ContentView.swift文件,所以这里只放ContentView.swift的代码:////
2021-04-02 21:08:02
1312
1
原创 马房山实验报告大学计算机网络实验(一)——获取本机Mac地址
武汉理工大学计算机网络实验(一)——获取本机Mac地址说明实验要求本机系统实验思路分析观察格式源代码结果说明本实验代码仅适用于可运行shell脚本的操作系统,不过思路可以借鉴。实验要求通过编程获取本机Mac地址,语言不限(老师说的)。本机系统我使用的为macOS BigSur 11.2.1。实验思路分析虽然C很强的大佬可以通过写驱动获取本机Mac地址,但是作为一个程序员当然是能偷懒就偷懒了(乐.jpg)终端敲多了的都熟悉ifconfig命令可以直接输出Mac地址所以我TM直接把ifcon
2021-03-31 14:37:02
728
3
原创 Mac安装eDEX-UI以及后续Python环境配置
Mac安装eDEX-UI以及后续Python环境配置效果配置不想看我瞎扯可以直接跳到这环境配置思路同样适用于Linux发行版。效果虽说macOS的界面已经十分美观了,但是对于习惯用TUI跑代码的我来说,这个黑黑的终端看久了还是会有点审美疲劳。于是又发现了一个好玩的东西:eDEX-UI直接下载安装包就行了,这东西支持Windows,macOS,以及各种Linux发行版。这个动态终端满足了中二青年对黑客的所有幻想(乐.jpg)左侧显示CPU、内存的占用,以及进程等信息。M1实测可用,还把八
2021-03-16 12:23:12
1562
原创 PDF.js查找功能实现浅析
PDF.js查找功能实现浅析说明正题分界线说明最近要做一个类似于PDF阅读器的项目,基于文本查找全部高亮实现一些别的功能;看着PDF.js功能还比较齐全,就准备把这个改改拿来用了。只是我对前端一窍不通(目前也懒得去学),所以我的目的是找到PDF.js这个项目里面我需要的代码,直接拿来cv就能用、或者只需要改那么几行就能用;在这里记录一下我阅读的过程,相应方法是如何实现的我并不会记录(看不懂),也恳请各位对我的记录进行补充或者指正。在这里提到的代码所在行数可能会因为PDF.js版本的更新而改变;正
2021-02-09 02:34:24
3827
7
原创 pyPdf: cannot import name ‘PdfFileReader’ from ‘pdf’
pyPdf导入错误:cannot import name 'PdfFileReader' from 'pdf'解决方法解决方法将 import pyPdf 换成 import PyPDF2 即可解决。同时将代码中所有的pyPdf替换成PyPDF2.pip3 install PyPDF2(其实我不想水这么短的文章的但是优快云上并没有这个问题的解决方法所以我就发上来了)...
2021-01-19 00:50:39
2455
原创 macOS安装metaworld
macOS安装metaworld说明mujoco的安装苦逼学生党勤奋打工人metaworld的安装踩坑说明安装metaworld的Python环境需要在3.6~3.8之间;由于metaworld基于mujoco,Python环境版本过低会导致mujoco不支持;版本过高的话会导致无法安装metaworld所需的小于7.2版本的pillow(如图)当然用conda的各位就当我没说(乐)mujoco的安装首先从全球最大的同性交流代码托管平台上下载OSX版本的mujoco压缩包:https://git
2021-01-16 12:40:22
1200
2
原创 马房山实验报告大学Python大作业——YouTube视频趋势分析
武汉理工大学Python高级程序设计大作业——YouTube视频趋势分析要求任务描述源代码main_mac.pyconfig.py要求数据来源:https://www.kaggle.com/datasnaek/youtube-newKaggle提供的数据集包括4个国家的热门YouTube视频的每日记录。每个国家的数据文件为一个CSV文件及一个JSON文件。任务描述① 绘制每个国家指定列的的top10,如category,channel_title等;② 统计视频发布后上榜的天数;③ 查看vi
2021-01-08 23:51:06
1269
原创 马房山实验报告大学编译原理实验——词法分析
马房山实验报告大学编译原理实验——词法分析题目描述源代码题目描述请根据给定的文法设计并实现词法分析程序,从源程序中识别出单词,记录其单词类别和单词值,输入输出及处理要求如下:(1)数据结构和与语法分析程序的接口请自行定义;类别码需按下表格式统一定义;(2)为了方便进行自动评测,输入的被编译源文件统一命名为testfile.txt;输出的结果文件统一命名为output.txt,结果文件中每行按如下方式组织: 单词类别码 单词的字符/字符串形式 (中间仅用一个空格间隔)单词的类别码请统
2020-12-25 16:44:27
2347
3
原创 Mac硬盘空间“其它”清理记录
Mac硬盘空间清理如果不想看我瞎扯直接跳到这(好家伙……)首先我们先用疼讯Lemon以及其它清理工具过一遍:(好家伙清完还变多了……)然后我们就会发现无论如何我们用啥清理软件,QQ的各种记录(图片语音视频表情等)都是占着大头的。“那你把QQ的缓存清理掉不就完了么。”“不行啊那个女孩和我的聊天记录还有她的语音都在这里面我怎么可能删!”“emm……”虽然SD卡可以帮助我们存储一部分的学习资料(原谅我是17年的Air)(我要是有钱早就换512G的M1了),但这并不妨碍“其它”这个迷人的小可爱
2020-12-25 16:21:50
804
原创 马房山实验报告大学Java大作业——贪吃蛇
马房山实验报告大学爪哇大作业——玩蛇作业内容开发环境说明源代码Main.javaMyFrame.javaGamePanel.javaSnake.javaFood.javaPlayer.javaPlayerScore.javaPoint.javaSideWindow.javaMusicPlayer.javaTrack.javaMuiscOrganizer.javaMusicFilePlayer.java作业内容用Java实现贪吃蛇游戏的同时,添加用户登录(无需使用网络编程、无需密码)、用户得分存储、得分排
2020-12-25 12:57:01
1990
原创 马房山实验报告大学C语言实验 图书管理系统(二)——世人景仰
马房山实验报告大学C语言实验 图书管理系统——世人景仰源文件main.cWelcome.cLogin.cLibrarian.cLibrarian_file.cManager.cReader.cBorrow.cInquire.ctool.c头文件源文件main.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include "Welcome.h"#include "global.h"int
2020-12-25 10:31:08
357
原创 马房山实验报告大学C语言实验 图书管理系统(一)——追求卓越
马房山实验报告大学C语言实验图书馆系统——追求卓越实验内容开发环境说明代码源文件main.cWelcome.cLogin.cReader.cManager.cLibrarian.cLibrarian_file.cBorrow.cInquire.c头文件model.hglobal.h实验内容实验要求我就不说了老师应该都给你们说的很清楚了(其实是我忘了)由于本次实验是组队编程,所以你们要cv也记得考虑接口的问题。开发环境macOS 10.14 Xcode使用bug 10的各位同学直接运行可能会出一点
2020-12-23 12:41:21
926
原创 马房山实验报告大学C语言实验——网管系统
网管当年我写的并不好,基本没有在意系统结构,所以重在理解,酌情cv实验内容开发环境实验源码源文件main.coutputMenu.ccard.cbillion_service.c头文件main.houtputMenu.hcard.hbillion_service.hmodel.h当年我写的并不好,基本没有在意系统结构,所以重在理解,酌情cv实验内容该系统可以实现用户的添加、修改、删除、充值、上下机、上机以及消费数据统计等功能。(不涉及GUI)开发环境macOS 10.14 Xcode各位用vs
2020-12-23 12:13:21
638
原创 ROS2驱动ydlidar激光雷达(以及驱动时的各种坑)
ROS2驱动ydlidar雷达(以及驱动时的各种坑)工具按部就班官网操作下载并处理官方驱动安装YDLIDAR/YDLidar-SDK环境配置踩坑12工具Ubuntu 20.04 ROS2 foxy(2020 ROS暑期学校白嫖来的)ydlidar X2L激光雷达(实际上适用于所有ydlidar激光雷达)按部就班官网操作github:https://github.com/YDLIDAR/ydlidar_ros2_driver接下来基本上都是照着官方操作走:下载并处理官方驱动从github上下载
2020-11-07 22:56:28
8759
11
原创 ROS2编写动作服务端案例(Python)
ROS2编写动作服务端案例(Python)了解动作动作结构示例创建自己的动作创建功能包编写动作结构编写动作服务端没有反馈(Feedback)版本有反馈版本修改package.xml与setup.py文件:测试动作服务端注:这里我的ROS2版本为foxy,代码基于官方的案例代码官网教程:Writing an Action Server (Python)了解动作动作主要用于需要运行一段时间的事件。动作并不是一个全新的机制,而是由底层的一个话题和两个服务组成:一个任务目标(Goal,服务),一个执行结果(
2020-11-05 02:35:46
1538
2
原创 “Ubuntu无法计算升级”一种可能有用的解决方法
Ubuntu系统升级的问题我在运行 sudo update-manager -c -d 将Ubuntu 18.04升级到20.04时,出现了 Ubuntu无法计算升级 的错误;多次重复尝试之后未得到解决。报错的内容中有一行 “Unofficial software packages not provided by Ubuntu”,明显是某个软件的问题(当时我还纠结了几分钟要不要把我的盗版Matlab删了试试);由于更新前系统就提示过ROS对Ubuntu版本有很强的依赖性,所以我运行了 sudo apt
2020-10-19 18:50:03
2948
原创 STM32与树莓派(上位机)交互控制机械臂
目录PWM舵机控制原理STM32CubeMx主要配置TIMER串口配置中断控制STM32CubeIDE代码实现通讯协议设计STM32代码实现测试、通常的机械臂都是由多路舵机组成,我使用的是某宝上(并不)常见的五自由度机械臂。尽管商家称它为六自由度。这里使用STM32F407VGT6的6路PWM输出通道来控制6个舵机的运动,树莓派(上位机)通过USB转TTL模块与STM32进行串口通讯PWM舵机控制原理标准的 PWM 舵机有三条控制线,分别为:电源、地及信号线。市面上大多数180°舵机需要的PW
2020-09-21 12:44:04
12117
14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人