main.lua 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077
  1. PROJECT = "camerademo"
  2. VERSION = "1.0.0"
  3. local sys = require "sys"
  4. --[[
  5. -- LCD接法示例, 以Air105开发板的HSPI为例
  6. LCD管脚 Air105管脚
  7. GND GND
  8. VCC 3.3V
  9. SCL (PC15/HSPI_SCK)
  10. SDA (PC13/HSPI_MOSI)
  11. RES (PC12/HSPI_MISO)
  12. DC (PE08) --开发板上的U3_RX
  13. CS (PC14/HSPI_CS)
  14. BL (PE09) --开发板上的U3_TX
  15. 提示:
  16. 1. 只使用SPI的时钟线(SCK)和数据输出线(MOSI), 其他均为GPIO脚
  17. 2. 数据输入(MISO)和片选(CS), 虽然是SPI, 但已复用为GPIO, 并非固定,是可以自由修改成其他脚
  18. ]]
  19. if wdt then
  20. wdt.init(15000)--初始化watchdog设置为15s
  21. sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
  22. end
  23. spi_lcd = spi.deviceSetup(5,pin.PC14,0,0,8,48*1000*1000,spi.MSB,1,1)
  24. -- log.info("lcd.init",
  25. -- lcd.init("st7735s",{port = "device",pin_dc = pin.PE08 ,pin_rst = pin.PC12,pin_pwr = pin.PE09,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))
  26. -- log.info("lcd.init",
  27. -- lcd.init("st7789",{port = "device",pin_dc = pin.PE08 ,pin_rst = pin.PC12,pin_pwr = pin.PE09,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd))
  28. -- log.info("lcd.init",
  29. -- lcd.init("st7735",{port = "device",pin_dc = pin.PE08 ,pin_rst = pin.PC12,pin_pwr = pin.PE09,direction = 0,w = 128,h = 160,xoffset = 2,yoffset = 1},spi_lcd))
  30. log.info("lcd.init",
  31. lcd.init("gc9306x",{port = "device",pin_dc = pin.PE08 ,pin_rst = pin.PC12,pin_pwr = pin.PE09,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd))
  32. --GC032A输出rgb图像初始化命令
  33. local GC032A_InitReg =
  34. {
  35. zbar_scan = 0,--是否为扫码
  36. draw_lcd = 1,--是否向lcd输出
  37. i2c_id = 0,
  38. i2c_addr = 0x21,
  39. pwm_id = 5;
  40. pwm_period = 12*1000*1000,
  41. pwm_pulse = 0,
  42. sensor_width = 640,
  43. sensor_height = 480,
  44. color_bit = 16,
  45. init_cmd =
  46. {
  47. 0xf3,0xff,
  48. 0xf7,0x01,
  49. 0xf8,0x03,
  50. 0xf9,0xce,
  51. 0xfa,0x00,
  52. 0xfc,0x02,
  53. 0xfe,0x02,
  54. 0x81,0x03,
  55. 0xfe, 0x00,
  56. 0x77, 0x64,
  57. 0x78, 0x40,
  58. 0x79, 0x60,
  59. 0xfe, 0x00,
  60. 0x03, 0x01,
  61. 0x04, 0xcb,
  62. 0x05, 0x01,
  63. 0x06, 0xb2,
  64. 0x07, 0x00,
  65. 0x08, 0x10,
  66. 0x0a, 0x00,
  67. 0x0c, 0x00,
  68. 0x0d, 0x01,
  69. 0x0e, 0xe8,
  70. 0x0f, 0x02,
  71. 0x10, 0x88,
  72. 0x17, 0x54,
  73. 0x19, 0x08,
  74. 0x1a, 0x0a,
  75. 0x1f, 0x40,
  76. 0x20, 0x30,
  77. 0x2e, 0x80,
  78. 0x2f, 0x2b,
  79. 0x30, 0x1a,
  80. 0xfe, 0x02,
  81. 0x03, 0x02,
  82. 0x05, 0xd7,
  83. 0x06, 0x60,
  84. 0x08, 0x80,
  85. 0x12, 0x89,
  86. 0xfe, 0x00,
  87. 0x18, 0x02,
  88. 0xfe, 0x02,
  89. 0x40, 0x22,
  90. 0x45, 0x00,
  91. 0x46, 0x00,
  92. 0x49, 0x20,
  93. 0x4b, 0x3c,
  94. 0x50, 0x20,
  95. 0x42, 0x10,
  96. 0xfe, 0x01,
  97. 0x0a, 0xc5,
  98. 0x45, 0x00,
  99. 0xfe, 0x00,
  100. 0x40, 0xff,
  101. 0x41, 0x25,
  102. 0x42, 0xef,
  103. 0x43, 0x10,
  104. 0x44, 0x82,
  105. 0x46, 0x22,
  106. 0x49, 0x03,
  107. 0x52, 0x02,
  108. 0x54, 0x00,
  109. 0xfe, 0x02,
  110. 0x22, 0xf6,
  111. 0xfe, 0x01,
  112. 0xc1, 0x38,
  113. 0xc2, 0x4c,
  114. 0xc3, 0x00,
  115. 0xc4, 0x2c,
  116. 0xc5, 0x24,
  117. 0xc6, 0x18,
  118. 0xc7, 0x28,
  119. 0xc8, 0x11,
  120. 0xc9, 0x15,
  121. 0xca, 0x20,
  122. 0xdc, 0x7a,
  123. 0xdd, 0xa0,
  124. 0xde, 0x80,
  125. 0xdf, 0x88,
  126. 0xfe, 0x01,
  127. 0x50, 0xc1,
  128. 0x56, 0x34,
  129. 0x58, 0x04,
  130. 0x65, 0x06,
  131. 0x66, 0x0f,
  132. 0x67, 0x04,
  133. 0x69, 0x20,
  134. 0x6a, 0x40,
  135. 0x6b, 0x81,
  136. 0x6d, 0x12,
  137. 0x6e, 0xc0,
  138. 0x7b, 0x2a,
  139. 0x7c, 0x0c,
  140. 0xfe, 0x01,
  141. 0x90, 0xe3,
  142. 0x91, 0xc2,
  143. 0x92, 0xff,
  144. 0x93, 0xe3,
  145. 0x95, 0x1c,
  146. 0x96, 0xff,
  147. 0x97, 0x44,
  148. 0x98, 0x1c,
  149. 0x9a, 0x44,
  150. 0x9b, 0x1c,
  151. 0x9c, 0x64,
  152. 0x9d, 0x44,
  153. 0x9f, 0x71,
  154. 0xa0, 0x64,
  155. 0xa1, 0x00,
  156. 0xa2, 0x00,
  157. 0x86, 0x00,
  158. 0x87, 0x00,
  159. 0x88, 0x00,
  160. 0x89, 0x00,
  161. 0xa4, 0xc2,
  162. 0xa5, 0x9b,
  163. 0xa6, 0xc8,
  164. 0xa7, 0x92,
  165. 0xa9, 0xc9,
  166. 0xaa, 0x96,
  167. 0xab, 0xa9,
  168. 0xac, 0x99,
  169. 0xae, 0xce,
  170. 0xaf, 0xa9,
  171. 0xb0, 0xcf,
  172. 0xb1, 0x9d,
  173. 0xb3, 0xcf,
  174. 0xb4, 0xac,
  175. 0xb5, 0x00,
  176. 0xb6, 0x00,
  177. 0x8b, 0x00,
  178. 0x8c, 0x00,
  179. 0x8d, 0x00,
  180. 0x8e, 0x00,
  181. 0x94, 0x55,
  182. 0x99, 0xa6,
  183. 0x9e, 0xaa,
  184. 0xa3, 0x0a,
  185. 0x8a, 0x00,
  186. 0xa8, 0x55,
  187. 0xad, 0x55,
  188. 0xb2, 0x55,
  189. 0xb7, 0x05,
  190. 0x8f, 0x00,
  191. 0xb8, 0xc7,
  192. 0xb9, 0xa0,
  193. 0xfe, 0x01,
  194. 0xd0, 0x40,
  195. 0xd1, 0x00,
  196. 0xd2, 0x00,
  197. 0xd3, 0xfa,
  198. 0xd4, 0x4a,
  199. 0xd5, 0x02,
  200. 0xd6, 0x44,
  201. 0xd7, 0xfa,
  202. 0xd8, 0x04,
  203. 0xd9, 0x08,
  204. 0xda, 0x5c,
  205. 0xdb, 0x02,
  206. 0xfe, 0x00,
  207. 0xfe, 0x00,
  208. 0xba, 0x00,
  209. 0xbb, 0x06,
  210. 0xbc, 0x0b,
  211. 0xbd, 0x10,
  212. 0xbe, 0x19,
  213. 0xbf, 0x26,
  214. 0xc0, 0x33,
  215. 0xc1, 0x3f,
  216. 0xc2, 0x54,
  217. 0xc3, 0x68,
  218. 0xc4, 0x7c,
  219. 0xc5, 0x8c,
  220. 0xc6, 0x9c,
  221. 0xc7, 0xb4,
  222. 0xc8, 0xc9,
  223. 0xc9, 0xd8,
  224. 0xca, 0xe4,
  225. 0xcb, 0xee,
  226. 0xcc, 0xf4,
  227. 0xcd, 0xf9,
  228. 0xce, 0xfa,
  229. 0xcf, 0xff,
  230. 0xfe, 0x00,
  231. 0x5a, 0x08,
  232. 0x5b, 0x0f,
  233. 0x5c, 0x15,
  234. 0x5d, 0x1c,
  235. 0x5e, 0x28,
  236. 0x5f, 0x36,
  237. 0x60, 0x45,
  238. 0x61, 0x51,
  239. 0x62, 0x6a,
  240. 0x63, 0x7d,
  241. 0x64, 0x8d,
  242. 0x65, 0x98,
  243. 0x66, 0xa2,
  244. 0x67, 0xb5,
  245. 0x68, 0xc3,
  246. 0x69, 0xcd,
  247. 0x6a, 0xd4,
  248. 0x6b, 0xdc,
  249. 0x6c, 0xe3,
  250. 0x6d, 0xf0,
  251. 0x6e, 0xf9,
  252. 0x6f, 0xff,
  253. 0xfe, 0x00,
  254. 0x70, 0x50,
  255. 0xfe, 0x00,
  256. 0x4f, 0x01,
  257. 0xfe, 0x01,
  258. 0x0c, 0x01,
  259. 0x0d, 0x00,
  260. 0x12, 0xa0,
  261. 0x13, 0x4a,
  262. 0x44, 0x04,
  263. 0x1f, 0x40,
  264. 0x20, 0x40,
  265. 0x23, 0x0a,
  266. 0x26, 0x9a,
  267. 0x3e, 0x20,
  268. 0x3f, 0x2d,
  269. 0x40, 0x40,
  270. 0x41, 0x5b,
  271. 0x42, 0x82,
  272. 0x43, 0xb7,
  273. 0x04, 0x0a,
  274. 0x02, 0x79,
  275. 0x03, 0xc0,
  276. 0xfe, 0x01,
  277. 0xcc, 0x08,
  278. 0xcd, 0x08,
  279. 0xce, 0xa4,
  280. 0xcf, 0xec,
  281. 0xfe, 0x00,
  282. 0x81, 0xb8,
  283. 0x82, 0x04,
  284. 0x83, 0x10,
  285. 0x84, 0x01,
  286. 0x86, 0x50,
  287. 0x87, 0x18,
  288. 0x88, 0x10,
  289. 0x89, 0x70,
  290. 0x8a, 0x20,
  291. 0x8b, 0x10,
  292. 0x8c, 0x08,
  293. 0x8d, 0x0a,
  294. 0xfe, 0x00,
  295. 0x8f, 0xaa,
  296. 0x90, 0x1c,
  297. 0x91, 0x52,
  298. 0x92, 0x03,
  299. 0x93, 0x03,
  300. 0x94, 0x08,
  301. 0x95, 0x6a,
  302. 0x97, 0x00,
  303. 0x98, 0x00,
  304. 0xfe, 0x00,
  305. 0x9a, 0x30,
  306. 0x9b, 0x50,
  307. 0xa1, 0x30,
  308. 0xa2, 0x66,
  309. 0xa4, 0x28,
  310. 0xa5, 0x30,
  311. 0xaa, 0x28,
  312. 0xac, 0x32,
  313. 0xfe, 0x00,
  314. 0xd1, 0x3f,
  315. 0xd2, 0x3f,
  316. 0xd3, 0x38,
  317. 0xd6, 0xf4,
  318. 0xd7, 0x1d,
  319. 0xdd, 0x72,
  320. 0xde, 0x84,
  321. 0xfe, 0x00,
  322. 0x05, 0x01,
  323. 0x06, 0xad,
  324. 0x07, 0x00,
  325. 0x08, 0x10,
  326. 0xfe, 0x01,
  327. 0x25, 0x00,
  328. 0x26, 0x4d,
  329. 0x27, 0x01,
  330. 0x28, 0xce,
  331. 0x29, 0x01,
  332. 0x2a, 0xce,
  333. 0x2b, 0x01,
  334. 0x2c, 0xce,
  335. 0x2d, 0x01,
  336. 0x2e, 0xce,
  337. 0x2f, 0x01,
  338. 0x30, 0xce,
  339. 0x31, 0x01,
  340. 0x32, 0xce,
  341. 0x33, 0x01,
  342. 0x34, 0xce,
  343. 0x3c, 0x10,
  344. 0xfe, 0x00,
  345. 0xfe,0x00,
  346. 0x44,0x06,--RGB565输出
  347. 0x46,0x0f,
  348. }
  349. }
  350. -- --GC032A输出rgb图像初始化命令
  351. -- local GC032A_InitReg =
  352. -- {
  353. -- zbar_scan = 0,--是否为扫码
  354. -- draw_lcd = 1,--是否向lcd输出
  355. -- i2c_id = 0,
  356. -- i2c_addr = 0x21,
  357. -- pwm_id = 5;
  358. -- pwm_period = 12*1000*1000,
  359. -- pwm_pulse = 0,
  360. -- sensor_width = 640,
  361. -- sensor_height = 480,
  362. -- color_bit = 16,
  363. -- init_cmd =
  364. -- {
  365. -- 0xf3,0xff,
  366. -- 0xf7,0x01,
  367. -- 0xf8,0x03,
  368. -- 0xf9,0xce,
  369. -- 0xfa,0x00,
  370. -- 0xfc,0x02,
  371. -- 0xfe,0x02,
  372. -- 0x81,0x03,
  373. -- 0xfe,0x00,
  374. -- 0x03,0x01,
  375. -- 0x04,0xc2,
  376. -- 0x05,0x01,
  377. -- 0x06,0xc2,
  378. -- 0x07,0x00,
  379. -- 0x08,0x08,
  380. -- 0x0a,0x04,
  381. -- 0x0c,0x04,
  382. -- 0x0d,0x01,
  383. -- 0x0e,0xe8,
  384. -- 0x0f,0x02,
  385. -- 0x10,0x88,
  386. -- 0x17,0x54,
  387. -- 0x19,0x04,
  388. -- 0x1a,0x0a,
  389. -- 0x1f,0x40,
  390. -- 0x20,0x30,
  391. -- 0x2e,0x80,
  392. -- 0x2f,0x2b,
  393. -- 0x30,0x1a,
  394. -- 0xfe,0x02,
  395. -- 0x03,0x02,
  396. -- 0x06,0x60,
  397. -- 0x05,0xd7,
  398. -- 0x12,0x89,
  399. -- 0xfe,0x00,
  400. -- 0x18,0x02,
  401. -- 0xfe,0x02,
  402. -- 0x40,0x22,
  403. -- 0x45,0x00,
  404. -- 0x46,0x00,
  405. -- 0x49,0x20,
  406. -- 0xfe,0x01,
  407. -- 0x0a,0xc5,
  408. -- 0x45,0x00,
  409. -- 0xfe,0x00,
  410. -- 0x40,0xff,
  411. -- 0x41,0x25,
  412. -- 0x42,0x83,
  413. -- 0x43,0x10,
  414. -- 0x46,0x26,
  415. -- 0x49,0x03,
  416. -- 0x4f,0x01,
  417. -- 0xde,0x84,
  418. -- 0xfe,0x02,
  419. -- 0x22,0xf6,
  420. -- 0xfe,0x01,
  421. -- 0x12,0xa0,
  422. -- 0x13,0x3a,
  423. -- 0xc1,0x3c,
  424. -- 0xc2,0x50,
  425. -- 0xc3,0x00,
  426. -- 0xc4,0x32,
  427. -- 0xc5,0x24,
  428. -- 0xc6,0x16,
  429. -- 0xc7,0x08,
  430. -- 0xc8,0x08,
  431. -- 0xc9,0x00,
  432. -- 0xca,0x20,
  433. -- 0xdc,0x8a,
  434. -- 0xdd,0xa0,
  435. -- 0xde,0xa6,
  436. -- 0xdf,0x75,
  437. -- 0xfe,0x01,
  438. -- 0x7c,0x09,
  439. -- 0x65,0x00,
  440. -- 0x7c,0x08,
  441. -- 0x56,0xf4,
  442. -- 0x66,0x0f,
  443. -- 0x67,0x84,
  444. -- 0x6b,0x80,
  445. -- 0x6d,0x12,
  446. -- 0x6e,0xb0,
  447. -- 0x86,0x00,
  448. -- 0x87,0x00,
  449. -- 0x88,0x00,
  450. -- 0x89,0x00,
  451. -- 0x8a,0x00,
  452. -- 0x8b,0x00,
  453. -- 0x8c,0x00,
  454. -- 0x8d,0x00,
  455. -- 0x8e,0x00,
  456. -- 0x8f,0x00,
  457. -- 0x90,0xef,
  458. -- 0x91,0xe1,
  459. -- 0x92,0x0c,
  460. -- 0x93,0xef,
  461. -- 0x94,0x65,
  462. -- 0x95,0x1f,
  463. -- 0x96,0x0c,
  464. -- 0x97,0x2d,
  465. -- 0x98,0x20,
  466. -- 0x99,0xaa,
  467. -- 0x9a,0x3f,
  468. -- 0x9b,0x2c,
  469. -- 0x9c,0x5f,
  470. -- 0x9d,0x3e,
  471. -- 0x9e,0xaa,
  472. -- 0x9f,0x67,
  473. -- 0xa0,0x60,
  474. -- 0xa1,0x00,
  475. -- 0xa2,0x00,
  476. -- 0xa3,0x0a,
  477. -- 0xa4,0xb6,
  478. -- 0xa5,0xac,
  479. -- 0xa6,0xc1,
  480. -- 0xa7,0xac,
  481. -- 0xa8,0x55,
  482. -- 0xa9,0xc3,
  483. -- 0xaa,0xa4,
  484. -- 0xab,0xba,
  485. -- 0xac,0xa8,
  486. -- 0xad,0x55,
  487. -- 0xae,0xc8,
  488. -- 0xaf,0xb9,
  489. -- 0xb0,0xd4,
  490. -- 0xb1,0xc3,
  491. -- 0xb2,0x55,
  492. -- 0xb3,0xd8,
  493. -- 0xb4,0xce,
  494. -- 0xb5,0x00,
  495. -- 0xb6,0x00,
  496. -- 0xb7,0x05,
  497. -- 0xb8,0xd6,
  498. -- 0xb9,0x8c,
  499. -- 0xfe,0x01,
  500. -- 0xd0,0x40,
  501. -- 0xd1,0xf8,
  502. -- 0xd2,0x00,
  503. -- 0xd3,0xfa,
  504. -- 0xd4,0x45,
  505. -- 0xd5,0x02,
  506. -- 0xd6,0x30,
  507. -- 0xd7,0xfa,
  508. -- 0xd8,0x08,
  509. -- 0xd9,0x08,
  510. -- 0xda,0x58,
  511. -- 0xdb,0x02,
  512. -- 0xfe,0x00,
  513. -- 0xfe,0x00,
  514. -- 0xba,0x00,
  515. -- 0xbb,0x04,
  516. -- 0xbc,0x0a,
  517. -- 0xbd,0x0e,
  518. -- 0xbe,0x22,
  519. -- 0xbf,0x30,
  520. -- 0xc0,0x3d,
  521. -- 0xc1,0x4a,
  522. -- 0xc2,0x5d,
  523. -- 0xc3,0x6b,
  524. -- 0xc4,0x7a,
  525. -- 0xc5,0x85,
  526. -- 0xc6,0x90,
  527. -- 0xc7,0xa5,
  528. -- 0xc8,0xb5,
  529. -- 0xc9,0xc2,
  530. -- 0xca,0xcc,
  531. -- 0xcb,0xd5,
  532. -- 0xcc,0xde,
  533. -- 0xcd,0xea,
  534. -- 0xce,0xf5,
  535. -- 0xcf,0xff,
  536. -- 0xfe,0x00,
  537. -- 0x5a,0x08,
  538. -- 0x5b,0x0f,
  539. -- 0x5c,0x15,
  540. -- 0x5d,0x1c,
  541. -- 0x5e,0x28,
  542. -- 0x5f,0x36,
  543. -- 0x60,0x45,
  544. -- 0x61,0x51,
  545. -- 0x62,0x6a,
  546. -- 0x63,0x7d,
  547. -- 0x64,0x8d,
  548. -- 0x65,0x98,
  549. -- 0x66,0xa2,
  550. -- 0x67,0xb5,
  551. -- 0x68,0xc3,
  552. -- 0x69,0xcd,
  553. -- 0x6a,0xd4,
  554. -- 0x6b,0xdc,
  555. -- 0x6c,0xe3,
  556. -- 0x6d,0xf0,
  557. -- 0x6e,0xf9,
  558. -- 0x6f,0xff,
  559. -- 0xfe,0x00,
  560. -- 0x70,0x50,
  561. -- 0xfe,0x00,
  562. -- 0x4f,0x01,
  563. -- 0xfe,0x01,
  564. -- 0x44,0x04,
  565. -- 0x1f,0x30,
  566. -- 0x20,0x40,
  567. -- 0x26,0x9a,
  568. -- 0x27,0x02,
  569. -- 0x28,0x0d,
  570. -- 0x29,0x02,
  571. -- 0x2a,0x0d,
  572. -- 0x2b,0x02,
  573. -- 0x2c,0x58,
  574. -- 0x2d,0x07,
  575. -- 0x2e,0xd2,
  576. -- 0x2f,0x0b,
  577. -- 0x30,0x6e,
  578. -- 0x31,0x0e,
  579. -- 0x32,0x70,
  580. -- 0x33,0x12,
  581. -- 0x34,0x0c,
  582. -- 0x3c,0x20,
  583. -- 0x3e,0x20,
  584. -- 0x3f,0x2d,
  585. -- 0x40,0x40,
  586. -- 0x41,0x5b,
  587. -- 0x42,0x82,
  588. -- 0x43,0xb7,
  589. -- 0x04,0x0a,
  590. -- 0x02,0x79,
  591. -- 0x03,0xc0,
  592. -- 0xcc,0x08,
  593. -- 0xcd,0x08,
  594. -- 0xce,0xa4,
  595. -- 0xcf,0xec,
  596. -- 0xfe,0x00,
  597. -- 0x81,0xb8,
  598. -- 0x82,0x12,
  599. -- 0x83,0x0a,
  600. -- 0x84,0x01,
  601. -- 0x86,0x25,
  602. -- 0x87,0x18,
  603. -- 0x88,0x10,
  604. -- 0x89,0x70,
  605. -- 0x8a,0x20,
  606. -- 0x8b,0x10,
  607. -- 0x8c,0x08,
  608. -- 0x8d,0x0a,
  609. -- 0xfe,0x00,
  610. -- 0x8f,0xaa,
  611. -- 0x90,0x9c,
  612. -- 0x91,0x52,
  613. -- 0x92,0x03,
  614. -- 0x93,0x03,
  615. -- 0x94,0x08,
  616. -- 0x95,0x44,
  617. -- 0x97,0x00,
  618. -- 0x98,0x00,
  619. -- 0xfe,0x00,
  620. -- 0xa1,0x30,
  621. -- 0xa2,0x41,
  622. -- 0xa4,0x30,
  623. -- 0xa5,0x20,
  624. -- 0xaa,0x30,
  625. -- 0xac,0x32,
  626. -- 0xfe,0x00,
  627. -- 0xd1,0x3c,
  628. -- 0xd2,0x3c,
  629. -- 0xd3,0x38,
  630. -- 0xd6,0xf4,
  631. -- 0xd7,0x1d,
  632. -- 0xdd,0x73,
  633. -- 0xde,0x84,
  634. -- 0xfe,0x01,
  635. -- 0x13,0x20,
  636. -- 0xfe,0x00,
  637. -- 0x4f,0x00,
  638. -- 0x03,0x00,
  639. -- 0x04,0xa0,
  640. -- 0x71,0x60,
  641. -- 0x72,0x40,
  642. -- 0x42,0x80,
  643. -- 0x77,0x64,
  644. -- 0x78,0x40,
  645. -- 0x79,0x60,
  646. -- 0xfe,0x00,
  647. -- 0x44,0x06,--RGB565输出
  648. -- 0x46,0x0f,
  649. -- }
  650. -- }
  651. --GC032A输出灰度图像初始化命令
  652. local GC032A_InitReg_Gray =
  653. {
  654. zbar_scan = 1,--是否为扫码
  655. draw_lcd = 1,--是否向lcd输出
  656. i2c_id = 0,
  657. i2c_addr = 0x21,
  658. pwm_id = 5;
  659. pwm_period = 24*1000*1000,
  660. pwm_pulse = 0,
  661. sensor_width = 640,
  662. sensor_height = 480,
  663. color_bit = 16,
  664. init_cmd =
  665. {
  666. 0xf3,0xff,
  667. 0xf7,0x01,
  668. 0xf8,0x03,
  669. 0xf9,0xce,
  670. 0xfa,0x00,
  671. 0xfc,0x02,
  672. 0xfe,0x02,
  673. 0x81,0x03,
  674. 0xfe,0x00,
  675. 0x03,0x01,
  676. 0x04,0xc2,
  677. 0x05,0x01,
  678. 0x06,0xc2,
  679. 0x07,0x00,
  680. 0x08,0x08,
  681. 0x0a,0x04,
  682. 0x0c,0x04,
  683. 0x0d,0x01,
  684. 0x0e,0xe8,
  685. 0x0f,0x02,
  686. 0x10,0x88,
  687. 0x17,0x54,
  688. 0x19,0x04,
  689. 0x1a,0x0a,
  690. 0x1f,0x40,
  691. 0x20,0x30,
  692. 0x2e,0x80,
  693. 0x2f,0x2b,
  694. 0x30,0x1a,
  695. 0xfe,0x02,
  696. 0x03,0x02,
  697. 0x06,0x60,
  698. 0x05,0xd7,
  699. 0x12,0x89,
  700. 0xfe,0x00,
  701. 0x18,0x02,
  702. 0xfe,0x02,
  703. 0x40,0x22,
  704. 0x45,0x00,
  705. 0x46,0x00,
  706. 0x49,0x20,
  707. 0xfe,0x01,
  708. 0x0a,0xc5,
  709. 0x45,0x00,
  710. 0xfe,0x00,
  711. 0x40,0xff,
  712. 0x41,0x25,
  713. 0x42,0x83,
  714. 0x43,0x10,
  715. 0x46,0x26,
  716. 0x49,0x03,
  717. 0x4f,0x01,
  718. 0xde,0x84,
  719. 0xfe,0x02,
  720. 0x22,0xf6,
  721. 0xfe,0x01,
  722. 0x12,0xa0,
  723. 0x13,0x3a,
  724. 0xc1,0x3c,
  725. 0xc2,0x50,
  726. 0xc3,0x00,
  727. 0xc4,0x32,
  728. 0xc5,0x24,
  729. 0xc6,0x16,
  730. 0xc7,0x08,
  731. 0xc8,0x08,
  732. 0xc9,0x00,
  733. 0xca,0x20,
  734. 0xdc,0x8a,
  735. 0xdd,0xa0,
  736. 0xde,0xa6,
  737. 0xdf,0x75,
  738. 0xfe,0x01,
  739. 0x7c,0x09,
  740. 0x65,0x00,
  741. 0x7c,0x08,
  742. 0x56,0xf4,
  743. 0x66,0x0f,
  744. 0x67,0x84,
  745. 0x6b,0x80,
  746. 0x6d,0x12,
  747. 0x6e,0xb0,
  748. 0x86,0x00,
  749. 0x87,0x00,
  750. 0x88,0x00,
  751. 0x89,0x00,
  752. 0x8a,0x00,
  753. 0x8b,0x00,
  754. 0x8c,0x00,
  755. 0x8d,0x00,
  756. 0x8e,0x00,
  757. 0x8f,0x00,
  758. 0x90,0xef,
  759. 0x91,0xe1,
  760. 0x92,0x0c,
  761. 0x93,0xef,
  762. 0x94,0x65,
  763. 0x95,0x1f,
  764. 0x96,0x0c,
  765. 0x97,0x2d,
  766. 0x98,0x20,
  767. 0x99,0xaa,
  768. 0x9a,0x3f,
  769. 0x9b,0x2c,
  770. 0x9c,0x5f,
  771. 0x9d,0x3e,
  772. 0x9e,0xaa,
  773. 0x9f,0x67,
  774. 0xa0,0x60,
  775. 0xa1,0x00,
  776. 0xa2,0x00,
  777. 0xa3,0x0a,
  778. 0xa4,0xb6,
  779. 0xa5,0xac,
  780. 0xa6,0xc1,
  781. 0xa7,0xac,
  782. 0xa8,0x55,
  783. 0xa9,0xc3,
  784. 0xaa,0xa4,
  785. 0xab,0xba,
  786. 0xac,0xa8,
  787. 0xad,0x55,
  788. 0xae,0xc8,
  789. 0xaf,0xb9,
  790. 0xb0,0xd4,
  791. 0xb1,0xc3,
  792. 0xb2,0x55,
  793. 0xb3,0xd8,
  794. 0xb4,0xce,
  795. 0xb5,0x00,
  796. 0xb6,0x00,
  797. 0xb7,0x05,
  798. 0xb8,0xd6,
  799. 0xb9,0x8c,
  800. 0xfe,0x01,
  801. 0xd0,0x40,
  802. 0xd1,0xf8,
  803. 0xd2,0x00,
  804. 0xd3,0xfa,
  805. 0xd4,0x45,
  806. 0xd5,0x02,
  807. 0xd6,0x30,
  808. 0xd7,0xfa,
  809. 0xd8,0x08,
  810. 0xd9,0x08,
  811. 0xda,0x58,
  812. 0xdb,0x02,
  813. 0xfe,0x00,
  814. 0xfe,0x00,
  815. 0xba,0x00,
  816. 0xbb,0x04,
  817. 0xbc,0x0a,
  818. 0xbd,0x0e,
  819. 0xbe,0x22,
  820. 0xbf,0x30,
  821. 0xc0,0x3d,
  822. 0xc1,0x4a,
  823. 0xc2,0x5d,
  824. 0xc3,0x6b,
  825. 0xc4,0x7a,
  826. 0xc5,0x85,
  827. 0xc6,0x90,
  828. 0xc7,0xa5,
  829. 0xc8,0xb5,
  830. 0xc9,0xc2,
  831. 0xca,0xcc,
  832. 0xcb,0xd5,
  833. 0xcc,0xde,
  834. 0xcd,0xea,
  835. 0xce,0xf5,
  836. 0xcf,0xff,
  837. 0xfe,0x00,
  838. 0x5a,0x08,
  839. 0x5b,0x0f,
  840. 0x5c,0x15,
  841. 0x5d,0x1c,
  842. 0x5e,0x28,
  843. 0x5f,0x36,
  844. 0x60,0x45,
  845. 0x61,0x51,
  846. 0x62,0x6a,
  847. 0x63,0x7d,
  848. 0x64,0x8d,
  849. 0x65,0x98,
  850. 0x66,0xa2,
  851. 0x67,0xb5,
  852. 0x68,0xc3,
  853. 0x69,0xcd,
  854. 0x6a,0xd4,
  855. 0x6b,0xdc,
  856. 0x6c,0xe3,
  857. 0x6d,0xf0,
  858. 0x6e,0xf9,
  859. 0x6f,0xff,
  860. 0xfe,0x00,
  861. 0x70,0x50,
  862. 0xfe,0x00,
  863. 0x4f,0x01,
  864. 0xfe,0x01,
  865. 0x44,0x04,
  866. 0x1f,0x30,
  867. 0x20,0x40,
  868. 0x26,0x9a,
  869. 0x27,0x02,
  870. 0x28,0x0d,
  871. 0x29,0x02,
  872. 0x2a,0x0d,
  873. 0x2b,0x02,
  874. 0x2c,0x58,
  875. 0x2d,0x07,
  876. 0x2e,0xd2,
  877. 0x2f,0x0b,
  878. 0x30,0x6e,
  879. 0x31,0x0e,
  880. 0x32,0x70,
  881. 0x33,0x12,
  882. 0x34,0x0c,
  883. 0x3c,0x20,
  884. 0x3e,0x20,
  885. 0x3f,0x2d,
  886. 0x40,0x40,
  887. 0x41,0x5b,
  888. 0x42,0x82,
  889. 0x43,0xb7,
  890. 0x04,0x0a,
  891. 0x02,0x79,
  892. 0x03,0xc0,
  893. 0xcc,0x08,
  894. 0xcd,0x08,
  895. 0xce,0xa4,
  896. 0xcf,0xec,
  897. 0xfe,0x00,
  898. 0x81,0xb8,
  899. 0x82,0x12,
  900. 0x83,0x0a,
  901. 0x84,0x01,
  902. 0x86,0x25,
  903. 0x87,0x18,
  904. 0x88,0x10,
  905. 0x89,0x70,
  906. 0x8a,0x20,
  907. 0x8b,0x10,
  908. 0x8c,0x08,
  909. 0x8d,0x0a,
  910. 0xfe,0x00,
  911. 0x8f,0xaa,
  912. 0x90,0x9c,
  913. 0x91,0x52,
  914. 0x92,0x03,
  915. 0x93,0x03,
  916. 0x94,0x08,
  917. 0x95,0x44,
  918. 0x97,0x00,
  919. 0x98,0x00,
  920. 0xfe,0x00,
  921. 0xa1,0x30,
  922. 0xa2,0x41,
  923. 0xa4,0x30,
  924. 0xa5,0x20,
  925. 0xaa,0x30,
  926. 0xac,0x32,
  927. 0xfe,0x00,
  928. 0xd1,0x3c,
  929. 0xd2,0x3c,
  930. 0xd3,0x38,
  931. 0xd6,0xf4,
  932. 0xd7,0x1d,
  933. 0xdd,0x73,
  934. 0xde,0x84,
  935. 0xfe,0x01,
  936. 0x13,0x20,
  937. 0xfe,0x00,
  938. 0x4f,0x00,
  939. 0x03,0x00,
  940. 0x04,0xa0,
  941. 0x71,0x60,
  942. 0x72,0x40,
  943. 0x42,0x80,
  944. 0x77,0x64,
  945. 0x78,0x40,
  946. 0x79,0x60,
  947. 0xfe,0x00,
  948. 0x44,0x90, --输出灰度
  949. 0x46,0x0f,
  950. }
  951. }
  952. --注册摄像头事件回调
  953. camera.on(0, "scanned", function(id, str)
  954. if type(str) == 'string' then
  955. log.info("扫码结果", str)
  956. else
  957. log.info("拍照结果", str)
  958. end
  959. end)
  960. local camera_pwdn = gpio.setup(pin.PD06, 1, gpio.PULLUP) -- PD06 camera_pwdn引脚
  961. local camera_rst = gpio.setup(pin.PD07, 1, gpio.PULLUP) -- PD07 camera_rst引脚
  962. sys.taskInit(function()
  963. camera_rst(0)
  964. --下面两行只开一行!一个是屏幕输出rgb图像,一个是屏幕输出灰度图像并扫码
  965. local camera_id = camera.init(GC032A_InitReg)--屏幕输出rgb图像
  966. --local camera_id = camera.init(GC032A_InitReg_Gray)--屏幕输出灰度图像并扫码
  967. log.info("摄像头启动")
  968. camera.start(camera_id)--开始指定的camera
  969. sys.wait(2000)
  970. log.info("摄像头停止")
  971. camera.stop(camera_id)--停止指定的camera
  972. sys.wait(2000)
  973. log.info("摄像头启动")
  974. camera.start(camera_id)--开始指定的camera
  975. sys.wait(2000)
  976. log.info("摄像头关闭")
  977. camera_rst(1)
  978. camera.close(camera_id)
  979. --下面的功能必须有支持camera.close的固件才能打开
  980. -- log.info("摄像头重新初始化")
  981. -- camera_rst(0)
  982. -- camera_id = camera.init(GC032A_InitReg_Gray)--屏幕输出灰度图像并扫码
  983. -- log.info("摄像头启动")
  984. -- camera.start(camera_id)--开始指定的camera
  985. --下面的功能必须有支持拍照的固件才能打开
  986. -- camera_rst(0)
  987. -- camera_id = camera.init(GC032A_InitReg)--屏幕输出灰度图像并扫码
  988. -- log.info("摄像头启动")
  989. -- camera.start(camera_id)--开始指定的camera
  990. -- sys.wait(2000)
  991. -- log.debug("摄像头捕获图像")
  992. -- camera.capture(camera_id, "/temp.jpg", 1)
  993. -- sys.wait(2000)
  994. -- local f = io.open("/temp.jpg", "r")
  995. -- local data
  996. -- if f then
  997. -- data = f:read("*a")
  998. -- log.info("fs", #data)
  999. -- f:close()
  1000. -- end
  1001. -- local uartid = 2 -- 根据实际设备选取不同的uartid
  1002. -- --初始化
  1003. -- local result = uart.setup(
  1004. -- uartid,--串口id
  1005. -- 115200,--波特率
  1006. -- 8,--数据位
  1007. -- 1--停止位
  1008. -- )
  1009. -- uart.write(uartid, data) --找个能保存数据的串口工具保存成文件就能在电脑上看了
  1010. while 1 do
  1011. sys.wait(500)
  1012. end
  1013. end)
  1014. -- 用户代码已结束---------------------------------------------
  1015. -- 结尾总是这一句
  1016. sys.run()
  1017. -- sys.run()之后后面不要加任何语句!!!!!