Changes for page 05 Lua Script
Last modified by Hunter on 2026/10/14 19:50
From version 1.2
edited by Mukhammad Muhyidin
on 2025/10/02 16:46
on 2025/10/02 16:46
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 6 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Muhyidin231 +XWiki.Hunter - Content
-
... ... @@ -48,29 +48,32 @@ 48 48 (% style="text-align:center" %) 49 49 [[image:dZyxVCtWDz.png]] 50 50 51 -~1. About how to set up the FTP server in Windows PC: **[[Build an FTP Site on IIS>>https://docs.microsoft.com/en-us/iis/publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis]] **,** [[How to set up and manage an FTP server on Windows 10>>https://www.windowscentral.com/how-set-and-manage-ftp-server-windows-10]]** 51 +(% class="box infomessage" %) 52 +((( 53 +Note:About how to set up the FTP server in Windows PC: **[[How to set up and manage an FTP server on Windows 10>>https://www.windowscentral.com/how-set-and-manage-ftp-server-windows-10]]** 54 +))) 52 52 53 - 2.Enter PC (FTP Server) IP address and port number (Default 21).56 +1.Enter PC (FTP Server) IP address and port number (Default 21). 54 54 55 55 (% style="text-align:center" %) 56 56 [[image:LuaFTPDemoIP&Port.png]] 57 57 58 - 3.Change the filename of the file that needs to be uploaded. If run on as Offline Simulator, the simulate upload path of "udisk:1.png" will be "C:\WECON\USB\1.png" on the PC.61 +2.Change the filename of the file that needs to be uploaded. If run on as Offline Simulator, the simulate upload path of "udisk:1.png" will be "C:\WECON\USB\1.png" on the PC. 59 59 60 60 (% style="text-align:center" %) 61 61 [[image:LuaFTPDemoUpload.png]] 62 62 63 - 4.Change drive letter of file save path according to drop-down list (There are three option available: Flash, UDisk and SDCard).66 +3.Change drive letter of file save path according to drop-down list (There are three option available: Flash, UDisk and SDCard). 64 64 65 65 (% style="text-align:center" %) 66 66 [[image:LuaFTPDemoDropBox.png]] 67 67 68 - 5.Change the filename of the file that needs to be downloaded from PC(Server).71 +4.Change the filename of the file that needs to be downloaded from PC(Server). 69 69 70 70 (% style="text-align:center" %) 71 71 [[image:LuaFTPDemoDownload.png]] 72 72 73 - 6.Set the default configuration in file "Script_BG.lua"76 +5.Set the default configuration in file "Script_BG.lua" 74 74 75 75 (% style="text-align:center" %) 76 76 [[image:LuaFTPDemoInitial.png]] ... ... @@ -123,6 +123,9 @@ 123 123 124 124 [[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Telegram.zip]] 125 125 129 + 130 +[[URL Encode Table for Special Characters>>https://docs.we-con.com.cn/bin/view/PIStudio/FAQ/Why%20can't%20I%20receive%20HMI%20messages%20on%20Telegram]] 131 + 126 126 = 9** LINE Notify(Not available now)** = 127 127 128 128 This example shows how to use the LINE Notify to send message into LINE group. When monitoring bit "@B_HDX0.0" changes, it will trigger and send the message. Please replace with your own Token. ... ... @@ -695,3 +695,147 @@ 695 695 696 696 (% style="text-align:center" %) 697 697 [[image:xT8f08pfY0.png]] 704 + 705 += 26 Send attachment picture with SMTP by Gmail = 706 + 707 +The project is to send mail message with text and attachment picture called test.png. 708 + 709 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/SMTP%20for%20Gmail%28with%20Attachment%20picture%20%29.zip]] 710 + 711 += 27 TTS function = 712 + 713 +The project is to show a Music Player and alarm sound with TTS function in Lua script. Please note that use PI version 10.4 or higher to open the project. 714 + 715 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Music%20player.pi2]] 716 + 717 += 28 Google Sheets API = 718 + 719 +The example shows how to send the data into the Google sheets API via Lua script. [[Jump to Video>>https://youtu.be/VKjr3_MVNzc]] 720 + 721 +{{warning}} 722 +since the HMI lacks a built-in library for cryptographic signatures (RS256/JWT), user can automate this by sending the token to the HMI via external communication. Token need to be manual input in this project. 723 +{{/warning}} 724 + 725 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/GoogleSheet.zip]] 726 + 727 += 29 Graphics Drawing = 728 + 729 +The example shows drawing a snow and a star on the HMI screen with drawing function from Lua Script.Please note that use PI version 10.6 or higher to open the project. 730 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Graphics%20Drawing.pi2]] 731 + 732 + 733 += 30 Timestamp = 734 + 735 +This example shows how to obtain second-level and millisecond-level timestamps. 736 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Timestamp.zip]] 737 + 738 + 739 += 31 Sending CSV file with Gmail = 740 + 741 +This example shows how to send CSV file transferred by DB file with Gmail. Please note that use PI version 10.6 or higher to open the project. 742 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Sending%20CSV%20file%20with%20Gmail.zip]] 743 + 744 + 745 += 32 GPS Function = 746 + 747 +This example shows how to get the GPS data from device (Support RH-AG). Please note that use PI version 11.4.64.26081301 or higher to open the project. 748 + 749 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/GPS%20function.zip]] 750 + 751 + 752 += **33 Data record query** = 753 + 754 +This example shows how to obtain data records for a certain time period and display them at an address. Please note that use PI version 10.6.45.26070101 or higher to open the project. 755 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Data%20record%20query.zip]] 756 + 757 + 758 += 34 Ethernet A4 Printer = 759 + 760 +This example shows how to print A4 report paper directly from an HMI via TCP/IP, which is not required any PC software tool. [[Jump to Video>>https://youtu.be/IZoOoRefJc8]] 761 + 762 +{{warning}} 763 +Please prioritize printers that support **PCL5**. 764 +{{/warning}} 765 + 766 +**Common PCL5 Commands** 767 + 768 +{{code language="lua"}} 769 +--Set text position and content 770 +local sample = "\x1B*p1000x1000YHelloWorld" 771 +{{/code}} 772 + 773 +{{code language="lua"}} 774 +-- Set font size to 12 pt 775 +local fontSize = "\x1B(s12V" 776 +{{/code}} 777 + 778 +{{code language="lua"}} 779 +-- Set print direction to 0 degrees 780 +local direction = "\x1B&a0P" 781 +{{/code}} 782 + 783 +{{code language="lua"}} 784 +--Restore default drawing logic 785 +local defaultLogic = "\x1B*l252O" 786 +{{/code}} 787 + 788 +{{code language="lua"}} 789 +--New page feed output 790 +local formFeed = "\x0C" 791 +{{/code}} 792 + 793 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/PrinterTCPSocket.zip]] 794 + 795 += 35 SFTP Client(PI 11.4) = 796 + 797 +This example shows how to set up the SSH connection between HMI and server, and upload or download the file. **This function only works on PIStudio version 11.4 or above and PI8000ig or PI9000ig HMI.** 798 + 799 +{{info}} 800 +Refer to the Microsoft official guide for installing and enabling OpenSSH Server on Windows using PowerShell: [[Get started with OpenSSH Server for Windows ~| Microsoft Learn>>https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui&pivots=windows-server-2025]] 801 + 802 +**Make sure TCP port 22 is not occupied by another SSH server, such as Bitvise SSH Server.** 803 +{{/info}} 804 + 805 +~1. Run PowerShell as administrator. Enter Get-Service sshd in the PowerShell window. If the status is Stopped, enter Start-Service sshd to start the service. 806 + 807 +{{code language="powershell"}} 808 +Get-Service sshd 809 +Start-Service sshd 810 +{{/code}} 811 + 812 +(% style="text-align:center" %) 813 +[[image:checkstatusSSH.png]] 814 + 815 +{{info}} 816 +If the SSH connection cannot be established, check and adjust the firewall’s inbound and outbound rules. Enter following command in powershell 817 +{{/info}} 818 + 819 +{{code language="powershell"}} 820 +netsh advfirewall set allprofiles state off 821 +{{/code}} 822 + 823 +2. Change the server IP, username and password. 824 + 825 +(% style="text-align:center" %) 826 +[[image:SSH1.png]] 827 + 828 +2. Change the server file path and HMI file path as user wanted. 829 + 830 +(% style="text-align:center" %) 831 +[[image:E2.png]] 832 + 833 +3. Click the Copy to copy the file into flash(user:) path from the pen drive path, then click SFTP connect, click Upload or Download button. 834 + 835 +{{warning}} 836 +File operations are only supported under the "user:" path for the moment. 837 +{{/warning}} 838 + 839 +(% style="text-align:center" %) 840 +[[image:sf.png]] 841 + 842 +4. Check the file whether download or upload successfully. 843 + 844 +(% style="text-align:center" %) 845 +[[image:8217Wc3rju.png]] 846 + 847 +Download link
- 8217Wc3rju.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +50.8 KB - Content
- E2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +154.6 KB - Content
- EYGRzMYrhy.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +171.9 KB - Content
- SSH1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +190.6 KB - Content
- checkstatusSSH.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +15.5 KB - Content
- sf.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +298.4 KB - Content