Chin's BBBlog 
  • 首页
  • 标签
  • 关于
  • 友链
  •     

Android Pad的生产力开发

最近入手了海信Q5平板, 准备将它改造为类似笔记本的”生产力机器”. 使用AidLearning可以在安卓系统上跑一个Linux子系统, 同时AidLearning内置xfce桌面, 但是在软件生态上Linux for arm还是不尽如人意. 因此我的思路是以台式机作为真正的工作机, 运行远程桌面服务端, 安卓平板作为远程桌面客户端, 搭配蓝牙键盘以及手机作为触控板实现类似笔记本电脑的效果. 需要解决的问题有: 搭建虚拟专用网连接台式机以及安卓平板以及手机 选择好用的远程桌面(服务端以及客户端) 将手机作为触控板接入台式机或者安卓平板 解决安卓平板与台式机之间互传文件的问题 虚拟专用网我使用了单位提供的Easyconnect VPN. 除此之外可以使用蒲公英VPN. 记得后文中出现的各设备的IP为其在VPN中的IP, 不是真实内网中的IP. 远程桌面我使用的系统为Ubuntu 20.04, 其常用的远程桌面有tigervnc/tightvnc, x11vnc, xrdp. 为了避免网络连接丢失时候台式机上运行的程序自动退出, 我只能选择x11vnc, 其余集中远程桌面方案都会在连接
software  GNU/Linux 

webdav for zotero

zotero官方给的300M云存储空间很快就用完了, 但是发现zotero软件支持用webdav进行云同步, 实现Pad/手机/笔记本/台式机之间文献库的共享, 遂研究如何设置webdav. 其实只要直接去坚果云注册一下就能获得1G免费的webdav空间用于zotero, 但是我怕以后1G的免费坚果云不够用, 所以还是自己搭吧. 连接所有设备我的手机和Pad走的是4G网络, 如果使用自己的电脑或者像树莓派之类的sbc作为webdav服务器, 就需要搭建虚拟专用网(VPN)连接各设备与服务器, 或者将服务器穿透到公网.可以的操作有: 买一台带公网IP的服务器(阿里云学生特惠9.5RMB/月) 去运营商更换带有公网IP的网络套餐, 配置家庭路由器端口转发 花生壳内网穿透(每月1G免费流量) 单位提供的Easyconnect VPN 蒲公英VPN(免费版只能连3个设备) 使用IPv6 webdav服务搭建 系统为Ubuntu 18.04 LTS. 创建webdav目录, 如果后面出现权限错误, 记得给这个目录777或者775的权限. 依赖软件需要安装软件nginx-full(或者ngi
server  GNU/Linux 

基于RT-Thread控制LED阵列用于光遗传学研究

文件rt-thread/bsp/allwinner_tina/applications/main.c: #include "rtthread.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #define TIME_H 24 #define TIME_M 0 #define LED_STACK_SIZE 16 #define LED_PRIORITY 20 #define LED_TIMESLICE 10 unsigned int shutdowntime=TIME_H * TIME_M; rt_uint8_t st=0x7E; long timeclose[96]={1, 1 ,1 ,1 ,1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,
单片机  hardware 

SFTP server with LibreOffice

实验室和寝室各有一台电脑, 我又经常会在两台电脑上写同一篇论文, 两台电脑之间的数据同步就成了一个略显头疼的问题. 为此我尝试过在阿里云服务器搭建云编辑器, 但是图片上传以及参考文献插入有变得很麻烦(无法与文献管理软件Zotero协作). 一个解决思路是利用实验室已经搭好的香橙派R1(固定IP)搭建NFS服务器, 但是NFS服务器动态调用端口, 需要在关闭防火墙的方式下使用(或者固定NFS使用的端口, 我失败了). 为了减少电脑被攻破/数据泄露的可能, 我还是选择使用SFTP传输数据(这样服务器端也不需要额外的设置). sshfs挂载SFTPsudo apt install sshfs -y安装sshfs, 用sshfs 服务器用户名@服务器IP:服务器路径 挂载点挂载SFTP服务器上的目录.为了避免每次输入密码的麻烦事, 可以在服务器端生成公钥给工作电脑, 用sshfs 服务器用户名@IP:服务器路径 挂载点 -o IdentityFile=公钥路径来挂载.也可以ssh-keygen -t rsa生成工作电脑的密钥对, ssh-copy-id -i 工作电脑公钥路径 服务器用户名@I
software  GNU/Linux 

SSD1306/1309 OLED屏幕

Arduino  单片机  hardware 

FreeRTOS in Arduino ESP

Arduino  单片机  hardware  ESP 

Arduino IDE: 网页控制ESP8266(NodeMCU)

有一个通过串口控制的LED矩阵, 实验中需要独立控制每颗LED的亮度, 并且每隔几秒就需要点亮LED一下. 同时要做这实验的师姐还不会编程. 因此我需要一个可以不断给串口Rx写入控制信号的单片机, 还需要一个用于修改其中参数的前端. 我选择使用ESP8266作为这个单片机, 同时使用WiFi连接, 使用网页作为前端. 此处记录这个过程中会用到的一些函数. 网络连接STA模式连入局域网#include <ESP8266WiFi.h> #ifndef STASSID #define STASSID "HOMEWLAN" #define STAPASSWD "********" #endif void setup(void){ Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(STASSID, STAPASSWD); Serial.println(""); while (WiFi.status() != WL_CONNECTED) {
Arduino  单片机  hardware  ESP 

服务器崩了及其恢复以及服务器数据备份

前几天ssh登录服务器时候发现系统提示有五十几个包可以升级, 其中四十几个安全升级. 我想想也半年多没有升级系统软件了, 这么多包要升级, 那就干脆来个sudo apt update && sudo apt dist-upgrade -y升级系统吧. 今天看到htop提示服务器已经连续运行153天了, 内存占用也升到了五百多兆, 想想我就重启吧, 然后就再也连不上服务器了, 网页也进不去. 最终用阿里云的救援连接(其实是VNC连接)进入了系统, sudo ifconfig发现连网卡都没有了. 惊慌了一个下午, 晚上我开始恢复服务器系统. 操作我在阿里云上找到了三月份的系统快照, 直接回滚. 回滚后终于”久违”地连上了服务器, 检查包括网站以及RStudio web版本都能使用, 随后进行系统升级, 重启验证系统正常. sudo update && sudo apt dist-upgrade -y && sudo apt autoremove -y && sudo reboot 随后我在自己在家用香橙派zero设置的服务器上
server  shell  GNU/Linux 

[转发]提升GNU/Linux的声音效果

sudo apt install jackd pulseaudio-module-jack caps -y 可能会出现提示, 个人电脑选择是就行.
software  GNU/Linux 

建立IP server来辅助连接电脑

在校园网内每台电脑都有一个动态的IP, 理论上可以通过这个IP远程登录网内任何开放的电脑. 但是要怎么获取这个IP? 内网好像没有免费的DDNS服务器. 思路在IP固定的服务器上创建一个用户ip, 限制其只能使用密钥登录并且无需密码认证, 并将公钥发放至需要连接或者需要获取IP的电脑. 目标电脑定时将IP(ifconfig)信息发送给服务器(scp), 服务器储存目标电脑IP. 使用者的电脑利用脚本自动从服务器获取目标电脑的IP进行连接. IP发送ping IP.server.的.IP -c 1 # 检测网络连接 if [ $? -eq 0 ]; then ifconfig 网卡名 | sed 's/\t\| /;/g' > mypcip1.txt scp -i /公钥/路径 ./mypcip1.txt ip@IP.server.的.IP:~/.ip/ /bin/rm ./mypcip1.txt fi 服务器IP数据处理/usr/local/bin/getip: echo -n "My PC1 IP is " echo -n `ca
server  shell  GNU/Linux 
123456…8

搜索

Hexo Fluid