# Timer Camera Use With UIFlow ## Download M5Burner >According to your operating system, click the button below to download the corresponding M5Burner firmware burning tool. Unzip and open the application

Windows10

MacOS

Linux

?>Note: after installation of MacOS users, please put the application into the application folder, as shown in the figure below. > ?>Note: for Linux users, please switch to the unzipped file path and run the application in the terminal. ## Burning firmware >Open `M5Burner`-->`Connect the device to the computer`-->`Select the corresponding port`-->`Switch to TIMERCAM option`-->`Select the appropriate version and click download`-->`Configure the appropriate parameters`-->Click `Burn` to flash-->Waiting for the pop-up window `successful` indicates that the burning is complete ## Get Token >-->Click`Get Token`-->waiting for pop-up window `Token`, the displayed string is token. It can also be obtained by scanning the QR code or opened directly in the browser. ## UIFlow Program **At present, the development of UIFlow blockly of TimerCamera is in progress, but you can still get pictures in uiflow by the following methods. The following example sends the pictures to M5 core host for display** The URL filled in HTTP is the generated token QR code (browser address), which is manually added "lcd.image (0, 0, req.content )" The acquired image will be displayed on the screen. ## Core2 Example ```clike import urequests import time import wifiCfg import lvgl as lv wifiCfg.auto_connect() ticks_ms = 0 old_tick = 0 scr = lv.scr_act() scr.clean() img = lv.img(scr) while True: if wifiCfg.is_connected(): ticks_ms = time.ticks_ms() if time.ticks_diff(ticks_ms, old_tick) > 40000: old_tick = ticks_ms try: req = urequests.get("http://api.m5stack.com:5003/timer-cam/image?tok=xxxxxxxxxYOUR-TOKENxxxxxxxxx&width=320&high=240&decode=png") if (req.status_code) == 200: print("Len: " + str(len(req.content))) img_dsc = lv.img_dsc_t({ "data_size": len(req.content), "data": req.content}) img.set_src(img_dsc) del img_dsc except (KeyboardInterrupt, Exception) as e: print('Speaker caught exception {} {}'.format(type(e).__name__, e)) break else: pass else: wifiCfg.auto_connect() ```