第1 章 GBS 腳本技術基礎 1
1.1 數據類型 1
1.2 常量和變量 2
1.2.1 標識符 2
1.2.2 常量 3
1.2.3 變量 4
1.2.4 數組聲明 5
1.2.5 對象變量 6
1.2.6 方法聲明 7
1.3 運算符和表達式 9
1.3.1 運算符 9
1.3.2 表達式 11
1.3.3 字符串函數12
1.3.4 數學函數13
1.3.5 隨機數函數14
1.3.6 日期與時間函數14
1.4 程序結構15
1.4.1 順序結構15
1.4.2 分支結構16
1.4.3 循環(huán)結構18
1.5 錯誤處理21
1.6 腳本編寫規(guī)則 24
1.6.1 GBS 腳本文件頭 24
1.6.2 將參數傳遞給腳本 24
1.6.3 組件 25
1.6.4 包含其他GBS 腳本文件 25
第2 章 腳本程序設計 26
2.1 GBS 集成開發(fā)環(huán)境-GBS 腳本編輯器 26
2.1.1 Deepin 下Gambas Scripter 安裝 26
2.1.2 GBS 腳本編輯器 27
2.2 GBS 腳本編輯器下腳本程序設計 32
2.2.1 簡單腳本程序設計 33
2.2.2 日期顯示腳本程序設計 34
2.2.3 自定義函數腳本程序設計 35
2.2.4 水仙花數腳本程序設計 37
2.2.5 帶參數和返回值腳本程序設計 38
2.2.6 對話框腳本程序設計 39
2.2.7 屏幕截圖腳本程序設計41
2.2.8 消息框腳本程序設計 42
2.2.9 輸入框腳本程序設計 44
2.2.10 GUI 窗體腳本程序設計 44
2.2.11 命令行傳遞參數腳本程序設計 47
2.2.12 類腳本程序設計 48
2.2.13 OpenSSL 腳本程序設計 50
2.3 通用編輯器下腳本程序設計 57
2.3.1 深度編輯器下腳本程序設計 57
2.3.2 Notepadqq 下腳本程序設計 60
2.3.3 Visual Studio Code 下腳本程序設計 64
2.4 GBS 腳本編輯器程序設計 68
2.5 自舉GBS 腳本編輯器程序設計81
第3 章 網絡通信技術 100
3.1 串行通信技術100
3.1.1 RS-232C 串行通信 100
3.1.2 SerialPort 控件 102
3.1.3 tty 終端設備操作 106
3.1.4 socat 虛擬化 106
3.1.5 minicom 工具 107
3.1.6 cutecom 調試工具 108
3.1.7 虛擬串口通信 110
3.1.8 串口助手程序設計 110
3.2 網絡通信技術 114
3.2.1 OSI 體系結構及協議 114
3.2.2 TCP/IP 協議參考模型 116
3.3 網絡類控件及使用方法 118
3.3.1 ServerSocket 控件 118
3.3.2 Socket 控件 119
3.3.3 雙機通信程序設計 124
3.3.4 UdpSocket 控件 128
3.3.5 Udp 雙機通信程序設計 131
3.3.6 DnsClient 控件 135
3.3.7 Net 類 136
3.3.8 HttpClient 控件 137
3.3.9 .Curl.Proxy 虛類 143
3.3.10 .Curl.SSL 虛類 143
3.3.11 天氣預報程序設計 143
3.3.12 FtpClient 控件 150
3.3.13 Ftp 文件查看器程序設計 153
第4 章 壓縮與加密技術 160
4.1 gb.compress 組件160
4.1.1 Compress 類 160
4.1.2 Uncompress 類 163
4.1.3 壓縮與解壓程序設計 165
4.2 gb.crypt 組件168
4.2.1 Crypt 類 168
4.2.2 口令驗證程序設計 169
4.3 gb.openssl 組件 172
4.3.1 Cipher 類 173
4.3.2 .Cipher.Method 虛類 173
4.3.3 CipherText 類 174
4.3.4 加密與解密程序設計 174
4.3.5 Digest 類 178
4.3.6 .Digest.Method 虛類 178
4.3.7 HMac 類 178
4.3.8 OpenSSL 類 179
4.3.9 摘要算法程序設計 180
第5 章 外部接口技術 184
5.1 外部接口184
5.1.1 庫文件 184
5.1.2 外部聲明 185
5.1.3 指針變量 186
5.1.4 指針的實現 187
5.1.5 外部函數管理 189
5.1.6 外部庫操作程序設計 193
5.2 共享庫設計195
5.2.1 簡易共享庫編寫與編譯 196
5.2.2 CodeLite 集成開發(fā)環(huán)境 196
5.2.3 生成共享庫文件203
5.2.4 自定義庫操作程序設計206
5.3 外部進程管理 211
5.3.1 SHELL 應用 211
5.3.2 Shell$應用 212
5.3.3 Process 類 213
5.3.4 計算器程序設計 215
5.3.5 EXEC 應用 221
5.3.6 Word 查看器程序設計222
5.4 嵌入外部應用 225
5.4.1 Embedder 控件225
5.4.2 PDF 閱讀器程序設計225
5.5 gb.desktop 組件 228
5.5.1 Desktop 類228
5.5.2 _Desktop_Passwords 虛類232
5.5.3 _Desktop_ScreenSaver 虛類232
5.5.4 _Desktop_Windows 虛類233
5.5.5 DesktopFile 類233
5.5.6 DesktopMime 類235
5.5.7 DesktopWatcher 類236
5.5.8 DesktopWindow 類237
5.5.9 窗口屬性查詢工具239
5.5.10 控制計算器程序設計242
第6 章 虛擬儀器技術 247
6.1 虛擬儀器 247
6.2 數據采集 249
6.3 虛擬儀器控制元件設計 250
6.3.1 溫度計元件設計 251
6.3.2 壓力計元件設計254
6.3.3 LED 元件設計257
6.3.4 萬用表元件設計259
6.3.5 旋鈕元件設計263
6.3.6 水箱元件設計266
6.3.7 示波器元件設計269
6.4 虛擬儀器用戶界面設計方法 273
6.4.1 設計原則273
6.4.2 可用性設計275
第7 章 信號處理技術 276
7.1 Octave 信號處理工具 276
7.1.1 Octave 簡介276
7.1.2 Octave 安裝277
7.1.3 Octave 開發(fā)環(huán)境設置277
7.2 數值計算 283
7.2.1 數據表示283
7.2.2 矩陣操作284
7.2.3 字符串操作292
7.2.4 元胞數組操作293
7.2.5 信號分析293
7.2.6 繪圖操作295
7.2.7 控制語句295
7.2.8 path 路徑變量296
7.2.9 腳本文件297
7.2.10 函數文件299
7.3 Octave 與Gambas 接口方法 300
7.4 gnuplot 301
7.4.1 gnuplot 基本使用方法 301
7.4.2 gnuplot 基本命令303
7.4.3 gnuplot 高級命令305
7.5 FFT 變換程序設計 308
第8 章 數據采集技術 312
8.1 Arduino 312
8.1.1 Arduino 簡介 312
8.1.2 Arduino Uno 開發(fā)板 313
8.1.3 Arduino 安裝 313
8.1.4 Arduino IDE 集成開發(fā)環(huán)境 314
8.2 端口操作318
8.2.1 DIO 操作 318
8.2.2 AIO 操作 319
8.2.3 串口操作 321
8.2.4 時間函數322
8.2.5 EEPROM 函數323
8.3 數據采集技術 325
8.3.1 數據采集卡設計325
8.3.2 上位機程序設計327
8.4 數據掩碼技術 331
8.4.1 數據掩碼卡設計 331
8.4.2 上位機程序設計335
8.5 SM4 數據加密技術 339
8.5.1 SM4 數據加密卡設計340
8.5.2 上位機程序設計352
8.6 Joystick 測試 357
8.6.1 Joystick 簡介357
8.6.2 Joystick 測試程序設計358
第9 章 軟件無線電技術 363
9.1 軟件無線電 363
9.2 軟件無線電外部設備 363
9.2.1 RTL-SDR 簡介363
9.2.2 RTL-SDR 環(huán)境配置364
9.2.3 HackRF One 簡介365
9.2.4 HackRF One 環(huán)境配置 365
9.3 GNU Radio 366
9.3.1 GNU Radio 簡介366
9.3.2 GNU Radio 環(huán)境配置366
9.3.3 GNU Radio Companion 366
9.3.4 設計一個簡易示波器372
9.4 軟件無線電應用 374
9.4.1 RTL-SDR 調頻廣播接收機374
9.4.2 HackRF One 藍牙信號檢測376
9.4.3 HackRF One 調頻廣播發(fā)射機378
9.4.4 HackRF One 無線信號錄制 381
9.4.5 HackRF One 重放攻擊383
9.5 GNU Radio 與Gambas 接口方法 387
參考文獻 390