安装python3 git
yum -y install gcc zlib zlib-devel libffi libffi-devel
#安装源码编译需要的编译环境
yum install readline-devel
#可以解决后期出现的方向键、删除键乱码问题,这里提前避免。
yum install openssl-devel openssl11 openssl11-devel
#安装openssl11,后期的pip3安装网络相关模块需要用到ssl模块。
export CFLAGS=
(
p
k
g
−
c
o
n
f
i
g
−
−
c
f
l
a
g
s
o
p
e
n
s
s
l
11
)
e
x
p
o
r
t
L
D
F
L
A
G
S
=
(pkg-config --cflags openssl11) export LDFLAGS=
(pkg−config−−cflagsopenssl11)exportLDFLAGS=(pkg-config --libs openssl11)
#设置编译FLAG,以便使用最新的openssl库
python升级
-
下载安装包并上传到服务器
https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz -
解压
tar -zxf Python-3.11.4.tgz
#进入刚解压缩的目录
cd Python-3.11.4 -
配置和安装
./configure --enable-optimizations
make altinstall
./configure --prefix=/usr/python --with-ssl
#指定python3的安装目录为 /usr/python 并使用ssl模块,指定目录好处是
#后期删除此文件夹就可以完全删除软件了。
make && make install
#就是源码编译并安装了,时间会持续一段时间。
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
ln -s /usr/python/bin/python3 /usr/bin/python3
ln -s /usr/python/bin/pip3 /usr/bin/pip3
git安装
sudo apt install python3-dev python3-pip libglib2.0-dev git
下载源码
git clone --recurse-submodules https://github.com/thingsboard/thingsboard-gateway.git --depth 1
安装thingsboard
python3 setup.py install
pip3 install -r requirements.txt
pip install grpcio 报错解决(mac)
brew install openssl
CFLAGS="-I/opt/homebrew/opt/openssl/include" LDFLAGS="-L/opt/homebrew/opt/openssl/lib" GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 pip install grpcio==1.40.0
运行
python3 thingsboard_gateway/tb_gateway.py
ModuleNotFoundError: No module named ‘thingsboard_gateway’
电脑上存在多个版本python,前面执行的命令
- 查看python安装目录
which python
- 进入安装目录执行
cd /Users/anaconda3/bin/python
pip3 install -r requirements.txt
- 尝试重新启动成功
python3 thingsboard_gateway/tb_gateway.py
Requirement already satisfied: mmh3 in /Users/xxx/anaconda3/lib/python3.10/site-packages (4.0.1)
Cannot load GRPC connector!
修改配置文件tb_gateway.yaml
thingsboard:
host: 192.168.0.25
port: 1883
remoteShell: false
remoteConfiguration: false
statsSendPeriodInSeconds: 3600
minPackSendDelayMS: 0
checkConnectorsConfigurationInSeconds: 60
security:
accessToken: XXXX
qos: 1
修改对应协议文件
如mqtt.json
{
"broker": {
"name": "Default Local Broker",
"host": "192.168.0.16",
"port": 1883,
"clientId": "ThingsBoard_gateway_local",
"version": 5,
"maxMessageNumberPerWorker": 10,
"maxNumberOfWorkers": 100,
"sendDataOnlyOnChange": false,
"security": {
"type": "basic",
"username": "",
"password": ""
}
}