V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mylovesaber  ›  全部回复第 8 页 / 共 8 页
回复总数  152
1  2  3  4  5  6  7  8  
去淘宝买,有海韵、益恒等正规品牌的代理的,便宜点的益恒 7025b 也就 245 ,别买杂牌或者收二手,这里面有不少假货,你把持不住
台达电源还不错的,然后 j1900 不够用,还是建议自己组个 nas 吧,i3 8100t+itx 主板一千内有,或者想省电买个 j4125 的 itx 主板 600 块也成,机箱的话去黄鱼搜索:恒星机箱或者蜗牛星际,然后有个 160 块的有恒星字样的,那个质量远比蜗牛 abcd 机箱强,和暴风播酷云的机箱一样都是正儿八经的万由代工的,和 700 块的迎广 ms04 机箱同级别做工
@wdssmq 好吧我这个操作有点不太正常,我在 win 的 d 盘的文件夹下打开的 wsl 窗口也就是此时 wsl 显示的路径应该是:/mnt/d
然后直接 git clone 到这个路径下比如项目名为 xxx ,然后 win 的文件管理器里面能看到的就是 D 盘里面有个 xxx 名称的项目文件夹,然后我打开 vsc 直接将这个文件夹加入了工作区,然后工作区肯定显示当前的项目文件夹了,但存储库没有显示。

其实这种操作和系统重装时没有备份 vsc 的设置,结果重装后本地有没开发完且进度先于云端的项目,就希望能够通过 vsc 直接加载进存储库,就这个操作我没想到如何实现

我后来尝试了下通过直接添加远程库的方式,存储库能显示,只需要手动再在工作区把对应文件夹添加进去就可以正常工作了。
@wdssmq 忘了说。系统是 win ,wsl 下看了下,属主和属组还有读写权限都是一样的,我之前能添加成功是新建了一个存储库,然后把已有的存储库内容给复制进去才能用的,直接加载已有 git 仓库就没成功过
@minamike 是的,我因为信了网上说的苹果官方有意弃用 crontab 才折腾查找老半天,最终发现原来 launchd 就目前的功能性来看,是从根本上无法替代我这种用法下的 crontab ,为了实现相同功能,launched 需要写三百行左右的规则才能替代 crontab ,但一旦需要改动时间的话,等于推倒重来,然后直接 `echo "*/30 * * * * root /usr/bin/bash /usr/bin/hosts-tool run" >> /var/at/tabs/root` 就可以了。。。。
@huntagain2008 谢谢,其实没有这么复杂的,一个 echo 就解决了,其实 find 出来的是一个结果一行,然后通过 for 循环可以数行数的,我最初需要做到的是超过 1 行就报错,也感谢分享其他写法哈
2021-12-23 20:27:37 +08:00
回复了 xdbytes1 创建的主题 程序员 Tabby,最近被吹的神乎其神的 SSH 客户端
mac 下我试用了好些 ssh 软件,唯一能代替 win10 下 xshell 的只有 SecureCRT ,而且这货多平台各自使用的配置文件相同,可以通过 onedrive 实现同步, 也有模板,比 xshell 方便太多了
@ryd994 感谢提醒!看来我得早点睡觉了。。。。脑子浑了。。。
@bakujin 我 ctrl+shift+p 输入 diff 提示没有此命令。。奇怪,我看我装了 partialdiff 插件也启用了,但照着作者的操作 gif 发现没有对应的命令,只有默认的 compare for selected
文档中有个 window.timeout(delay)函数,能以非阻塞方式轮询

import time
import curses

screen = curses.initscr()
curses.noecho()
screen.timeout(0) # 设置 screen 为非阻塞读取(无延迟模式)

while True:
char = screen.getch() # 在无延迟模式下,getch 会立即返回不管有没有输入
if char == -1: # 如果没有输入,getch 会返回 -1
print("没有输入")
else:
print("输入了 {} ({})".format(chr(char), char))
time.sleep(0.2) # sleep 避免轮询过快


我滴妈,我的问题终于解决了
网上其他所谓键盘遥控自动避障小车项目好像都没有用到这个函数所以都不完整
此贴终结
@no1xsyzy @wangkai0351
![避障逻辑图]( https://s1.ax1x.com/2020/04/22/JYEuKU.png)
我重读了 curses 的文档,是我疏忽了 getch()函数的特性,
即: `char = screen.getch()` 这行代码功能是等待读取键值

进入这行代码的执行的时候,读取到按键之前一定会出现整个程序的暂停,所以出现一旦我取消注释,一楼程序就进入等待按键的阶段,后面的红外测距判断就不会被执行的情况,但现在发现问题需要解决的逻辑我好像没想出来。。

再说明白点就是这两行代码是先后绑定在一起的,避障生效只能是在运行这两行代码之前,但避障使用的这个红外一直在读取到信息,也就是不停读取非 0 即 1,直接进行 if-else 进行判断的话,一旦小车动起来第一时间树莓派没有读取到 0 的值时就进入了等待输入 ok 键的阶段导致这个避障功能不生效,所以我第一反应是使用一个循环,但后面怎么改善我蒙逼了:
```python
char = screen.getch()
print("这段话绝对不会被打印在屏幕上")
if char == 10:
print("读取到 ok 键被按下这段话就会被输出到屏幕上")
```
请教下二位有没有什么可能的思路来解决呢?
@wangkai0351 谢谢,其实键值不是问题,都是测试能用的,而且这个 curses 库识别键值如果是英文字母直接就是它本身,根本不用考虑,只是这个在子循环加上读取键值就红外失效,不加上按键失效就有点尴尬。。。
问题来源于子循环里面 screen = curses.initscr()和 char = screen.getch(),在同样“小车前进时没有障碍物”的条件下出现:
1. 这俩行注释了,小车在按下 ok 键无反映,只能等快撞上由红外强行停止
2. 这俩行不注释,小车可以通过 ok 键停止,但红外防撞功能失效

另外发现这个 getch()好像会累计你的按键,比如我使用问题 1,我按上,ok,下键,没反映,但靠近红外模块后小车立马停车后紧接着后退

不知道我这逻辑写法哪里出错了,各位前辈如果能看懂的话可否介绍下经验呢?感谢!
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 19:36 · PVG 03:36 · LAX 12:36 · JFK 15:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.