介绍
序号 | 名称 | 说明 |
---|---|---|
001 | 瑞芯微PX30 | |
002 | 接口图 | 见下文 |
003 | 屏幕分辨率 | 800*1280 |
004 | CPU | arm64 |
005 | 内存 | 1GB |
006 | 存储 | 8GB |
007 | 系统 | Android 8.1/Linux ubuntu 16.0.4 |
008 | GPU | Mali-G31 MP2 |
009 | ubuntu 16.0.4 | 账号1:root密码:rpdzkj,账号2:rpdzkj密码:rpdzkj |
接口图示
接屏幕
接入图1中,端口15的位置
刷机 ubuntu 16.0.4
- 1、双公头的usb刷机线一头连接端口9的usb接口,另一头连接电脑。
- 2、安装烧写驱动。驱动文件位置在“05-工具\USB烧写驱动\DriverAssitant_v4.5”
-
3、运行烧写程序。
- 程序位置在“05-工具\烧写工具\Android8.1\AndroidTool_Release_v2.58\AndroidTool_Release_v2.58”,安卓系统和ubuntu都可以使用这一个烧写程序。
- C1 一直按住 ,再 按下 K2 RST
-
4、开始刷入镜像。
- 1) 进入升级模式:长按升级键不放,按一下复位键,松开升级键,刷机程序显示“发现一个LOADER设备”,开发板进入升级模式。
- 2) 选择镜像文件
- 3) 点击“升级”按钮
-
1.手动安装环境
-
下载net5.0,并上传
- 帮助中心
- NET版本下载,ARM64
- 上传到目录
/home/satlic.com/
-
安装shell
- 推荐进行
#需要root权限进行安装
mkdir -p "/home/satlic.com/dotnet" && tar zxf dotnet-sdk-5.0.403-linux-arm64.tar.gz -C "/home/satlic.com/dotnet"
- 其他参考
mkdir -p "$HOME/dotnet" && tar zxf dotnet-sdk-5.0.403-linux-arm64.tar.gz -C "$HOME/dotnet"
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
#设置环境变量
export DOTNET_ROOT=/home/rpdzkj/dotnet
export PATH=$PATH:/home/rpdzkj/dotnet
-
2.查看是否安装成功
复制代码
dotnet --info
程序发布
设置发布规则
设置编译规则
1.上传程序
上传程序到
/home/satlic.com/rcms
中
设置目录权限
2.上传配置文件
上传配置到
/home/satlic.com/
中
设置目录权限
3.启动程序
复制代码
#推荐,未设置环境变量设置全路径
/home/satlic.com/dotnet/dotnet /home/satlic.com/rcms/rcms.service/Panda.WebUI.WebAPI.dll
#设置了环境变量,下面也可以
cd /home/rpdzkj/satlic.com/rcms
dotnet Panda.WebUI.WebAPI.dll
序号 | 名称 | 备注 |
---|---|---|
01 | 检查是否可打开 | 是否可打开 |
02 | 服务调试TcpClient:2021 | 是否可正常链接 |
03 | 接口调试SetDeviceStatus | 验证是否可正常开关阀门 |
04 | 串口调试 | 参见详情 |
串口调试
/dev/ttyS1
桌子上 36 号解码器控制
串口调试
- 开:
08 05 00 04 00 00 8c 92
网页调试
- 测试地址
- deviceId = 51
- gatcode = 66246603b9270991335db4e5372afpan
编译
待部署文件
1.部署
- 1.1.上传
- 1.2.设置权限:
/home/satlic.com/MyApp
目录下的 MyApp权限
- 1.3.配置
sudo chown root chrome-sandbox && sudo chmod 4755 chrome-sandbox
2.运行
- 2.1.用rpdzkj登陆到系统
- 2.2.shell执行
复制代码
cd /home/satlic.com/rcms/MyApp
./MyApp
1.开机启动shell
satlicstart.sh
#!/bin/sh
### BEGIN INIT INFO
# Provides: starter
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start starter
# Description: panjia@ulee.work
### END INIT INFO
export DOTNET_ROOT=/home/satlic.com/dotnet
export PATH=$PATH:/home/satlic.com/dotnet
dotnet --info
dotnet /home/satlic.com/rcms/rcms.service/Panda.WebUI.WebAPI.dll
exit 0
设置权限
sudo chmod 755 satlicstart.sh
把脚本放到启动目录下
sudo mv /home/satlic.com/rcms/satlicstart.sh /etc/init.d/
将脚本添加到启动脚本
cd /etc/init.d/
sudo update-rc.d satlicstart.sh defaults 90
- 后面90数字是你设置的启动序号,越大级别越低,执行越晚
2.移除开机自启脚本
cd /etc/init.d/
sudo update-rc.d -f satlicstart.sh remove
3.登陆后启动脚本
startMyApp.sh
#!/bin/sh
### BEGIN INIT INFO
# Provides: starter
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start starter
# Description: panjia@ulee.work
### END INIT INFO
cd /home/satlic.com/rcms/MyApp
./MyApp
exit 0
设置开机自动执行权限
sudo chmod 755 /home/satlic.com/rcms/startMyApp.sh
在系统中设置
- 在桌面左上角的搜索框中输入Startup Applications
- 打开,点击Add,Name处填test,Command处搜索脚本文件的路径
- 完成之后点击Add
free -h
安装mysql,并启动服务后
类型 | total | used | free | shared | buff/cache | available |
---|---|---|---|---|---|---|
Mem | 955M | 506M | 31M | 25M | 417M | 383M |
Swap | 0B | 0B | 0B | - | - | - |
安装mysql,关闭mysql服务
类型 | total | used | free | shared | buff/cache | available |
---|---|---|---|---|---|---|
Mem,startmysql | 955M | 506M | 31M | 25M | 417M | 383M |
Mem,stopmysql | 955M | 383M | 179M | 25M | 392M | 506M |
Mem,stopmsql,net | 955M | 532M | 5.7M | 25M | 417M | 356M |
Mem,stopmsql,vue | 955M | 468M | 126M | 51M | 360M | 393M |
Mem,stopmsql,vue&net | 955M | 631M | 33M | 60M | 290M | 219M |
Swap | 0B | 0B | 0B | - | - | - |
/etc/init.d/mysql stop
/home/rpdzkj/dotnet/dotnet /home/rpdzkj/satlic.com/rcms/Panda.WebUI.WebAPI.dll
安装MYSQL
sudo apt-get install mysql-client mysql-server
安装的时候会提示要设置root密码,如果你没有在卸载的时候去清理残留数据是不会提示你去设置root密码的
检查运行状态
sudo service mysql status
- 一般安装完成之后都是会自动运行的。
- 如果没有运行你可以,启动MYSQL服务
sudo service mysql start
配置文件
/etc/mysql/
彻底卸载mysql
首先删除mysql
复制代码
sudo apt-get remove mysql-*
然后清理残留的数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
- 它会跳出一个对话框,你选择yes就好了
linux 下的规则
- MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
- 1、数据库名与表名是严格区分大小写的;
- 2、表的别名是严格区分大小写的;
- 3、列名与列的别名在所有的情况下均是忽略大小写的;
- 4、变量名也是严格区分大小写的;MySQL在Windows下都不区分大小写
设置忽略大小写
- 修改 etc/my.cnf 文件 添加
#其中 0:区分大小写,1:不区分大小写
lower_case_table_names =1
远程登录
登录mysql
mysql -uroot -p
创建用户用来远程连接
GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
- 第一个itoffice表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
- 第二个itoffice表示密码
执行 flush privileges;
命令立即生效
查询数据库的用户(看到如下内容表示创建新用户成功了)
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
使用exit命令退出MySQL
- 然后打开vim /etc/mysql/my.cnf
将bind-address = 127.0.0.1
置成bind-address = 0.0.0.0(设备地址)
重新启动(命令如下):
/etc/init.d/mysql stop
/etc/init.d/mysql start
查看端口号
show global variables like 'port';
其他指令
在Ubuntu下,root用户默认使用的plugin是auth_socket方式,在该方式下重设密码即可
在Ubuntu下,root用户默认使用的plugin是auth_socket方式,在该方式下重设密码即可
Access denied for user ‘root’@’localhost’ (using password: YES)
复制代码
mysql -uroot -ppanjia -h 127.0.0.1
项目代码连接数据库root账户,使用localhost成功,使用127.0.0.1失败,报错:Error 1045: Access denied for user 'root'@'localhost' (using password: YES)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'panjia';
px30.mysql.conf
浏览 6 扫码 分享 2021-11-25 16:56:16
复制代码
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
#
# * Fine Tuning
#
# 16->8
key_buffer_size = 8M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
#100 -> 50
innodb_buffer_pool_size = 50M
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
max_connections = 30
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 30M
# 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
lower_case_table_names = 1
硬盘扩容
使用lsblk
命令查看/挂载在/dev下的哪个设备
执行resize2fs /dev/mmcblk1p7
执行df -h
看有没有扩大分
图示所有步骤
控制台shell命令实现串口数据的收发
1.控制台串口配置
stty -F /dev/ttyS1 raw speed 9600 min 0 time 10
2. 控制台发送数据
echo "hello world" > /dev/ttyS1
3. 控制台接收数据
cat /dev/ttyS1
4. 用脚本循环接收数据
stty -F /dev/ttyUSB0 raw speed 9600 min 0 time 10
while [ 1 -eq 1 ]
do
cat /dev/ttyUSB0 >> "tmpFile"
do something
done
CuteCom
安装
sudo apt-get install cutecom
界面
右下角 CR,CF line end 调整
- 问题描述: 无论 input 什么,就会原样输出在显示屏上。
- 解决方案:将右下角的 end 形式改为 CR,CF line end。接下来就可以正常使用了。
注:回车”(Carriage Return)和“换行”(Line Feed) CR 用符号 ’\r’ 表示, 十进制 ASCII 代码是 13, 十六进制代码为 0x0D LF使用 ’\n’ 符号表示, ASCII 代码是 10, 十六制为 0x0A
USB转串口线
远程桌面
设置防火墙
通过以下命令可以查看防火墙的启动情况
$ sudo ufw status
如果是 inactive的话,可以不需要任何设置。
如果需要开启防火墙的话,那需要打开5900端口
$ sudo ufw allow 5900
$ sudo ufw reload
$ sudo ufw status
参考文档
常用指令
名称 | 说明 |
---|---|
硬盘空间大小 | df -h |
查看硬盘分区 | sudo fdisk -l |
查看发行版信息 | cat /etc/issue |
正在运行的内核版本 | cat /proc/version |
电脑以及操作系统 | uname -a |
内存cpu占用 | top |
内存空闲 | free |
切换用户 | su |
指令详情
磁盘占用的空间 df
- Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称;
- Used:表示用掉的磁盘空间大小;
- Available:表示剩余的磁盘空间大小;
- Use%:磁盘空间使用率;
- Mounted on:文件系统的挂载点,也就是磁盘挂载的目录位置
top
[root@sss ~]# top
top - 16:54:38 up 7 days, 5:13, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 77 total, 2 running, 75 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1882232 total, 813020 free, 330164 used, 739048 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1386608 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17215 root 0 -20 127504 12176 9560 S 0.7 0.6 21:46.45 AliYunDun
2770 root 20 0 573932 17232 6088 S 0.3 0.9 1:11.38 tuned
1 root 20 0 43548 3844 2588 S 0.0 0.2 0:06.54 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:08.75 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
... ...
free命令 free -h
-
下面是对这些数值的解释:
- total:总计物理内存的大小。
- used:已使用多大。
- free:可用有多少。
- Shared:多个进程共享的内存总额。
- Buffers/cached:磁盘缓存的大小。
- available 还可以被 应用程序 使用的物理内存大小
-
第三行(-/+ buffers/cached):
- used:已使用多大
- free:可用有多少
free 命令下free/available区别
ree 与 available 的区别
- free 是真正尚未被使用的物理内存数量。
- available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)
su
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了
环境变量
名称 | 说明 |
---|---|
$(pwd) | 工作目录 |
$PATH | |
$HOME |
命令行关闭和开启ubuntu图形界面
ubuntu16.04
关闭图形界面命令:
systemctl disable lightdm.service
开启图形界面命令:
ln -s
/lib/systemd/system/lightdm.service
/etc/systemd/system/display-manager.service
reboot
其他版本
关闭用户图形界面,使用tty登录
复制代码
sudo systemctl set-default multi-user.target
sudo reboot
开启用户图形界面
sudo systemctl set-default graphical.target
sudo reboot