Đề tài công trình nghiên cứu về máy thu tiền tự động là một đề tài trong lĩnh vực kỹ thuật điện tử và tự động hóa, nghiên cứu về việc phát triển một hệ thống máy thu tiền tự động hoàn toàn tự động, giúp cho các doanh nghiệp, cơ quan và tổ chức có thể quản lý và thu tiền một cách hiệu quả và tiết kiệm thời gian.
Trang 1ĐOÀN THANH NIÊN CỘNG SẢN HỒ CHÍ MINH
TÊN CÔNG TRÌNH: MÁY THU TIỀN TỰ ĐỘNG
LĨNH VỰC NGHIÊN CỨU: KỸ THUẬT ĐIỆN TỬ
CHUYÊN NGÀNH: ĐIỆN TỬ VIỄN THÔNG
Mã số công trình: ………
(Phần này do BTC Giải thưởng ghi)
Trang 2MỤC LỤC
TÓM TẮT 1
1 ĐẶT VẤN ĐỀ 2
2 TỔNG QUAN CÔNG TRÌNH 2
3 MỤC TIÊU - PHƯƠNG PHÁP 3
4 KẾT QUẢ - THẢO LUẬN 4
4.1 Giới thiệu phần cứng 4
4.1.1 Máy tính nhúng Raspberry Pi 3 5
4.1.2 Màn hình cảm ứng 6
4.1.3 Nguồn xung 7
4.1.4 Khóa điện 7
4.1.5 Mạch giảm áp 8
4.1.6 Cảm biến tiệm cận 8
4.1.7 NV 200 10
4.1.8 Vỏ máy 12
4.1.9 Báo cáo linh kiện 13
4.1.10 Nguyên lý hoạt động 13
4.2 Phần mềm 14
4.2.1 Phần mềm là gì 14
4.2.2 Ngôn Ngữ lập trình 15
4.2.3 Web App 17
4.2.4 Các thư viện và Framework 18
4.2.5 Nguyên lý hoạt động của phần mềm 19
4.2.6 Hình ảnh giao diện phần mềm của máy thu tiền 24
4.3 Hệ thống server 25
4.3.1 WEB API 25
4.3.2 Những đặt điểm nổi bật 26
4.3.3 Web API hoạt động như thế nào 26
5 KẾT LUẬN - ĐỀ NGHỊ 28
6 TÀI LIỆU THAM KHẢO 29
PHỤ LỤC 30
Trang 3DANH MỤC HÌNH ẢNH
Hình 1 Raspberry pi 3 5
Hình 2 Sơ Đồ Chân Của Raspberry pi 3 5
Hình 3 Mặt sau của màn hình cảm ứng 6
Hình 4 Mặt sau của màn hình cảm ứng 6
Hình 5 Nguồn Xung 12V - 3A 7
Hình 6 Khóa điện 7
Hình 7 Mạch Giảm áp 8
Hình 8 Module cảm biến hồng ngoại 9
Hình 9 NV-200 Smart Payout 10
Hình 10 Sơ đồ các chân kết nối của máy NV-200 11
Hình 11 Vỏ máy 12
Hình 12 Sơ đồ nguyên lý phần cứng 14
Hình 13 Sơ đồ tương tác của người dùng với phần mềm 15
Hình 14 Sơ Các ngôn ngữ lập trình phổ biến 16
Hình 15 Quy trình thiết kế và phát triển FrontEnd 17
Hình 16 Hình ảnh minh họa cơ sở dữ liệu 18
Hình 17 Các hàm được sử dụng trong nộp và rút tiền của máy thu tiền 21
Hình 18 Kịch bản của máy thu tiền 22
Hình 19 Quy trình phụ của kịch bản (xử lý thông tin hóa đơn) 23
Hình 20 Quy trình phụ của kịch bản (Xử lý số tiền đưa vào máy) 23
Hình 21 Trang lựa chọn dịch vụ thanh toán 24
Hình 22 Trang chờ khách hàng đưa tiền vào máy 24
Hình 23 Trang thông báo số tiền cho khách hàng 25
Hình 24 Trang thông báo giao dịch thành công 25
Trang 4DANH MỤC BẢNG BIỂU
Bảng 1 Chi tiết cấu tạo và thành phần của vỏ máy 12
Bảng 2 Báo cáo giá trị và link mua từng linh kiện 33
Bảng 3 Request body của API lấy thông tin nợ 33
Bảng 4 Response body của API lấy thông tin nợ 34
Bảng 5 Request body của API truy vấn tiền điện HCM 34
Bảng 6 Response body của API truy vấn tiền điện HCM 35
Bảng 7 Request body của API cập nhật thanh toán 36
Bảng 8 Response body của API cập nhật thanh toán 36
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT
Trang 6Ngoài ra trong xã hội ngày nay có quá nhiều khoản mà người dùng cần phải chi trả và thanh toán hằng tháng cho những dịch vụ sử dụng hằng hàng ngày, trung bình theo hằng tháng mỗi hộ gia đình ở Việt Nam phải chi trả và thanh toán cho 4 loại tiền chính là tiền điện, tiền nước, tiền mạng, tiền card điện thoại và còn nhiều dịch vụ bên ngoài khác dẫn đến những khó khăn sau Tại các Cửa Hàng, Công Ty…Trong việc giải quyết bài toán thiếu nguồn lao động hay việc công nhân viên phải làm quá nhiều công việc cùng một lúc dẫn đến những rủi ro đặt biệt ở những nơi đông dân cư và phát triển như ở các thành phố lớn: Tp Hồ Chí Minh, Hà Nội…Về người dùng việc phải chờ lâu tới lượt để được nhân viên thanh toán, phải thanh toán tại những nơi có vị trí cố định hoặc phải di chuyển một quản đường xa thì mới tới nơi cần thanh toán
Đối diện những khó khăn trên cũng như giúp người dùng có được một sự thỏa mái khi sử dụng các dịch vụ trên Nhóm đã lên ý tưởng công trình máy thu tiền tự động không cần nhân viên kết hợp với nhiều loại hình thức thanh toán cho người dùng giúp người dùng có thể thanh toán một cách nhanh gọn ở mọi nơi
Trang 71 ĐẶT VẤN ĐỀ
Ngày nay, những tiến bộ không ngừng của khoa học kỹ thuật, nhất là các ứng dụng của điện tử - tin học và cuộc sống đã làm thay đổi sâu sắc cả về mặt lý thuyết và thực tế trong lĩnh vực tự động hóa Ngoài sự ra đời của các tiến bộ biến đổi điện tử công suất với kích thước nhỏ gọn và tác động nhanh, nhạy, dễ dàng ghép nối với các vi mạch điều khiển với các máy tính Các phần mềm chương trình điều khiển luôn được nâng cao và ngày càng hoàn thiện hơn nhằm đáp ứng tốt với các nhu cầu của thiết bị sản xuất
và đời sống Trong nền kinh tế phát triển theo hướng công nghiệp hóa, sản xuất tự động hóa đóng vai trò mũi nhọn không thể thiếu được Việc tự động hóa công việc giúp giảm sức lực của con người khắc phục được bài toán thiếu nguồn lao động, quá tải công việc, nâng cao hiệu suất trong công việc.Giao dịch và thanh toán là những công việc diễn ra hằng ngày, ở mọi lúc mọi nơi và ở tại Việt Nam việc giao dịch và thanh toán này luôn diễn ra theo một hình thức truyền thống để thực hiện các công việc trên một cách tự động hóa vẫn là luôn là một cái gì đó còn mới mẻ ở Việt Nam.Cùng với sự phát triển của khoa học và công nghệ ngày nay cũng đã được áp dụng vào lĩnh vực này và đây cũng là xu thế của thế giới vì thế nhóm đã chọn và thực hiện đề tài này góp phần phục
vụ nhu cầu đời sống cho mỗi cá nhân và tổ chức đơn giản hóa công việc giúp người dân đặt biệt là người dân ở những vùng nông thôn được tiếp cận tới công nghệ của thế giới
và nhận dạng mọi mặt tiền ở Việt Nam từ tờ 500 đồng đến tờ 500 ngàn đồng, đồng thời máy có thể thối lại tiền cho người dùng Về phía Công Ty máy có chi phí vận hàng thấp đảm bảo tính bảo mật có thể mang lại an toàn cho người dùng
Trang 8Trong công nghệ thu tiền tự động, nhiều nghiên cứu trước đây và đã đưa ra thị trường những cỗ máy công trình tự động mang lại hiệu quả cũng đáp ứng được nhu cầu người dùng cũng như hiện đại hóa của công nghệ 4.0 còn ở Việt Nam các hình thức tự động chính mà ta thường thấy ở ngoài thị trường đó là: Máy bán nước tự động, máy mua hàng tự động, máy rút tiền tự động(ATM) Ở những cỗ máy này chỉ thực hiện tự động
ở thị trường buôn bán, ngân hàng vì thế công trình máy thu tiền tự động thu tiền tiền dịch vụ hằng ngày của người dùng giúp cho thị trường có thêm loại hình thanh toán mới góp phần đa dạng hóa hình thức tự động
3 MỤC TIÊU - PHƯƠNG PHÁP
MỤC TIÊU
Gồm các mục tiêu chính sau:
Chế tạo một hệ thống gồm các máy thanh toán tiền mặt tự động
Tự hóa quá trình thanh toán bằng tiền VND
Ứng dụng vào thực tế tại các cửa hàng thế giới di động
Đánh giá kết quả thử nghiệm và hiệu chỉnh
Hướng tới một giải pháp được đưa ra bởi nghiên cứu này sẽ ứng dụng được thực tiễn trong nhiều lĩnh vực thanh toán khác nhau và ở đâu có thanh toán tiền ở đó có thể
sử dụng công trình này này Tuy nhiên việc tích hợp thêm nhiều loại dịch vụ, đa dạng hình thức thanh toán, thực hiện thanh toán với máy chỉ với bước đơn giản vẫn còn là một thách thức lớn Trong bài nghiên cứu này, việc quan trọng là phải tìm và đưa ra được các thách thức đó, để người dùng có được một sự thỏa mái, tiện ích
PHƯƠNG PHÁP
Nhóm đã thực hiện một số phương pháp nghiên cứu chính để hình thành
nên công trình máy thu tiền tự động như sau:
Tìm hiểu quá trình thanh toán thực tế
Nghiên cứu các máy thanh toán tự động ngoài thực tế đã được sử dụng rộng rãi ngoài thị trường Biết được một số ưu điểm, nhược điểm và một số hạn chế mà máy tự động ngoài thị trường mang lại Từ đó là tiêu đề cho việc hình thành nên một hệ thống Công trình máy thu tiền hoàn chỉnh đáp ứng được nhu cầu cho người dùng
Trang 9 Tìm hiểu nguyên lý nhận dạng tiền VND
Một bài toán mà nhóm cần phải nghiên cứu tiếp theo và cũng là một trong những phần quan trọng không kém của công trình máy thu tiền tự động đó là “Làm sao để máy dạng được tiền và thối lại tiền” vì thế nhóm đã lựa chọn máy NV-200 để thực hiện cho việc nghiên cứu và đưa ra giải pháp trên Việc nghiên cứu máy NV-200 giúp ta biết và cách sử dụng được máy cho việc nhận dạng tiện, thối tiền, kết nối, điều khiển máy một cách dễ dàng
Thiết kế phần cứng
Kết nối các linh kiện lại với nhau tạo nên một sơ đồ nguyên lý phần cứng
Viết phương trình phần mềm
Viết phương trình phần mềm để điều khiển các linh kiện hoạt động theo một trình
tự nhất định, có logic Tạo nên một đường dây liên kết các thiết bị lại với nhau hoạt động một cách trơn chu thêm vào đó giúp người dùng có thể sử dụng thanh toán và thực hiện thao tác trên công trình máy thu tiền tự động
Thiết kế vỏ máy
Hình thành nên bộ khung chắc chắn đảm bảo được tính an toàn, bảo mật, đơn giảm và không quá rườm rà.Thêm vào đó làm sao để máy có thể di chuyển dễ dàng và đặt được ở nhiều nơi khác nhau Việc thiết kế vỏ máy sao cho có thể chứa hết tất cả các linh kiện được đặt bên trong vỏ lại với nhau để máy có thể hoạt động được
Chạy thử nghiệm
Việc chạy thử nghiệm đánh giá công trình máy thu tiền hoạt động như thế nào có đáp ứng nhu cầu người người dùng không,có bị lỗi hay không, có hoạt động theo đúng trình tự được đưa ra hay không, có đảm bảo được tính an toàn hay không Xong việc chạy thử nghiệm giúp ta đưa ra sự hạn chế của công trình máy thu tiền tự động từ đó chỉnh sửa lại, hoàn thiện máy
4 KẾT QUẢ - THẢO LUẬN
4.1 Giới thiệu phần cứng
Phần cứng là những thiết bị bên trong và bên ngoài công trình máy thu tiền mà chúng ta có thể cầm được, nhìn thấy được Phần cứng chính là các bộ phận tạo thành công trình
- Phần bên ngoài: Vỏ máy, màn hình
Trang 10- Phần bên trong: Raspberry pi 3, module 2 rơle, Cảm biến tiệm cận hồng ngoại, khóa điện, nguồn xung, mạch giảm áp, NV 200
4.1.1 Máy tính nhúng Raspberry Pi 3
Hi ̀nh 1: Raspberry pi 3
Hi ̀nh 2: Sơ Đồ Chân Của Raspberry pi 3
● Khái miện
Với Raspberry Pi, bạn chỉ cần cài hệ điều hành, gắn chuột, bàn phím và màn hình
là có thể sử dụng như một máy vi tính Raspberry Pi không hoàn toàn có thể thay thế được máy tính để bàn hoặc laptop nhưng nó là một thiết bị đa năng có thể được sử dụng cho những hệ thống điện tử, thiết lập hệ thống tính toán, những dự án DIY… với chi phí
rẻ Mặc dù chậm hơn so với các dòng laptop, máy tính hiện đại nhưng Raspberry Pi vẫn được xem là máy tính Linux hoàn chỉnh và có thể cung cấp tất cả các khả năng mà người dùng mong đợi, với mức tiêu thụ năng lượng thấp Hệ điều hành về cơ bản Raspberry
Pi có khá nhiều OS linux chạy điểm danh một số Distributions Linux (nhúng) chạy trên Raspberry Pi như Raspbian, Pidora, openSUSE, OpenWRT, OpenELEC,…
● Thông số kỹ thuật:
(Xem phần 1 tại I trong mục phụ lục)
Trang 12- Hiển thị thông tin lên màn hình
Trang 13● Thông số kỹ thuật
(Xem phần 5 tại I trong mục phụ lục)
● Chức năng
- Giảm dòng và áp, cung cấp nguồn
- Bảo vệ ngắn mạch, quá dòng, quá nhiệt cho thiết bị
4.1.6 Cảm biến tiệm cận
Trang 14Hi ̀nh 8: Mudule cảm biến tiện cận hồng ngoại
● Khái niệm
Cảm biến hồng ngoại hay còn được gọi là IR Sensor, chúng là một thiết bị điện tử
có khả năng đo và phát hiện bức xạ hồng ngoại trong môi trường xung quanh Cảm biến hồng ngoại (IR Sensor) phát ra các tia vô hình đối với mắt người, vì bước sóng của nó dài hơn ánh sáng khả kiến (mặc dù nó vẫn nằm trên cùng một phổ điện từ) Bất cứ thứ
gì phát ra nhiệt (mọi thứ có nhiệt độ trên năm độ Kelvin) đều phát ra bức xạ hồng ngoại
Trang 15- Thanh toán tiền giấy nhiều mệnh giá
- Chấp nhận, xác nhận và lưu trữ nhiều mệnh giá tiền giấy với số lượng ít hơn 10 giây
- Thanh toán nhiều mệnh giá tiền giấy trong khoảng 10 giây
- Chức năng thanh toán được tự động hóa
- Rút tiền mặt ít thường xuyên hơn & lấp đầy lại phao
- Sử dụng giao thức được mã hóa an toàn để truyền dữ liệu
Trang 16● Chỉ báo trạng thái
Đơn vị Thanh toán THÔNG MINH có hai chỉ báo Đi-ốt phát sáng (LED) được sử dụng để hiển thị trạng thái của thiết bị (một Đỏ, một Xanh) bạn có thể tìm thấy những trạng thái này ở mặt sau của bên dưới đầu nối USB Nếu đơn vị Thanh toán SMART đang hoạt động bình thường, chỉ đèn LED Xanh lục mới được sáng: khi hoạt động bình thường đèn LED này sẽ nhấp nháy một lần mỗi giây
● kết nối với thiết bị
- Đơn vị SMART Payout có hai đầu nối được sử dụng để cho phép giao tiếp và lập trình Đầu nối đầu tiên là chân 16 socket được sử dụng để giao diện Thanh toán THÔNG MINH đơn vị đến máy chủ
- Đầu nối USB là ổ cắm USB loại 'B' tiêu chuẩn và có thể được sử dụng để giao tiếp với máy chủ
● Phần mềm, giao thức và lập trình
www.innovative-technology.com/support/securedownload sau khi ta đăng ký tài khoản
- PiPS (Pay in Pay out System) là một gói phần mềm được phát triển bởi Innovative Technology Ltd để cho phép khách hàng thực hiện lập trình, thiết lập và vận hành nhiệm vụ trên toàn bộ các thiết bị Thanh toán thông minh và phần mềm này có thể chạy trên window 98 trở lên
- SSP: Giao thức giao tiếp được đề xuất cho đơn vị SMART Payout là e SSP, vì điều này cung cấp mức độ bảo mật truyền dữ liệu cao nhất Giao thức giao diện ccTalk (CC2)cũng có sẵn
- CcTalk: CC2 xây dựng dựa trên tiêu chuẩn ccTalk hiện có và sử dụng tiêu chuẩn Xây dựng và mã hóa gói ccTalk, nhưng để sử dụng các tính năng thanh toán có luồng thông tin khác nhau
Trang 17- MDB: Là giao diện được buýt nối tiếp thường được sử dụng trong bán hàng tự động kiểm soát bằng điện Đây là hệ thống 9600 Baud Master – Slave trong đó trình xác thự NV 200 là máy con cho bộ điều khiển của máy chủ
- Để lập trình, cần sử dụng hệ thống Lập trình thiết bị DA3 (DPS), điều này có thể được tải xuống từ trang web của nhà phát triển, sau khi phần mềm được cài đặt, hãy nhập tập dữ liệu vào DPS trước khi tải lên bộ nhớ trong DA3 DA3 kết nối với PC thông qua cổng USB
- NV200 cũng có thể được lập trình lại thông qua khe cắm SD ở mắt trước của thiết bị để lập trình thẻ để cập nhật đơn vị Thẻ NV Phải sử dụng các tiện ích Thẻ
NV Tiện ích cho phép người dùng tạo thẻ cập nhật cho dòng sản phẩm NV200
4.1.8 Vỏ máy
Hi ̀nh 11: Vỏ máy
Bảng 1: Chi tiết cấu tạo và thành phần của vỏ máy
Trang 184.1.9 Báo cáo linh kiện
(Xem phần II trong mục phụ lục)
4.1.10 Nguyên lý hoạt động
Máy thu tiền tự động sẽ sử dụng trực tiếp và lấy nguồn điện xoay chiều vào là 220V mà
ta sử dụng hằng ngày, nguồn điện vào sẽ được nguồn xung tiếp nhận và chuyển thành nguồn điện một chiều là 12V Nguồn 12V này sẽ được chia ra nối và cấp nguồn cho từng thiết bị như quạt,, Khóa từ, đầu đọc tiền (NV-200 Smart Payout) Raspberry PI 3 và module role sẽ được cấp nguồn điện thấp hơn là 5V để đảm bảo độ an toàn và hoạt động một cách hiệu quả cho Raspberry Pi 3, để cấp được nguồn 5V đó thì ta đưa dòng 12V vào mạch giảm áp chỉnh dòng xuống 5V
Raspberry Pi 3 là một máy tính nhúng chức năng là liên kết các linh kiện của máy thu tiền như module role, khóa từ, cảm biến tiệm cận hồng ngoại, màn hình, đầu đọc tiền lại với nhau tạo sau đó tiếp nhận, xử lý và điều khiển từng tín hiệu số Đây cũng là thành phần quan trọng ,cốt lõi là đầu não để tạo nên máy thu tiền Là một vi xử lý Raspberry
PI 3 sẽ tiếp nhận kết nối và xử lý các tín hiệu của các thiết bị cùng một lúc, đầu tiên là với module role Ngoài việc kiểm soát ,bảo vệ dòng điện việc rơle có thể chuyển đổi trạng thái đóng, tắt ta sử dụng kết hợp nối với nguồn vào của khóa điện bằng cổng COM và
NO, khi ta gửi tín hiệu ở mức thấp hay mức cao từ GPIO 22 pi3 đến INT1 rơle thì rơ le
sẽ đóng và mở tại hai cổng NO và COM khiến cho chốt khóa điện cũng đóng và mở đồng thời đóng và mở ra phần cứng của thiết bị.Cảm biến tiệm cận hồng ngoại ta kết nối với GIPO,VCC,GND từ các chân của PI 3 sau đó cảm biến phát ra tia hồng ngoại để xác định được vật cản và vật cản đây chính là cửa để đóng mở thiết bị phần cứng được khóa bởi khóa từ việc mà ta mở cửa thì cảm không xác định được tiệm cận còn đóng cửa thì cảm biến sẽ xác định được tiệm cận Sau đó cảm biến sẽ gửi tính hiệu về PI 3 giúp ta biết được
số làm đóng và mở thiết bị
Màn hình cảm ứng nối với PI3 qua cổng HDMI và USB nhằm hiển thị thông tin
mà máy đưa ra và giúp người dùng có thể thực hiện thao tác chọn lệnh giao tiếp với máy Còn đầu đọc tiền ( NV-200 Smart Payout) được kết nối với PI3 qua cổng USB và chức năng chính của máy này là đọc tiền sau đó tiếp nhận thối lại tiền cho người dùng
Trang 19Phần mềm là một khái niệm trừu tượng, nó khác với phần cứng ở chỗ “phần mềm không thể sờ hay chạm vào” và nó cần phải có phần cứng máy tính mới có thể thực thi được
Trang 20Hi ̀nh 13: Sơ đồ tương tác của người dùng với phần mềm
Phần mềm được chia thành 2 loại chính đó là phần mềm hệ thống (system software) và phần mềm ứng dụng (application software), ngoài ra còn một số loại phần mềm khác như malware (phần mềm độc hại) hay firmware (phần mềm điều khiển cấp thấp),
Cách thức hoạt động của phần mềm máy tính là khi lập trình viên tạo ra một phần mềm bằng một ngôn ngữ lập trình, hay hiểu đơn giản là viết ra một chương trình hướng dẫn cho máy tính làm việc, sau đó thực thi nó trên một thiết bị phần cứng nào đó thì phần mềm đó sẽ được lưu trữ vào trong bộ nhớ và được biên dịch bằng một phần mềm gọi là trình biên dịch để chuyển từ ngôn ngữ lập trình hay ngôn ngữ mà con người có thể hiểu được sang ngôn ngữ máy mà máy tính có thể hiểu được và thực thi để phục vụ cho nhu cầu của con người Mà để làm được điều đó thì trước hết ta phải hiểu ngôn ngữ lập trình là gì?
4.2.2 Ngôn Ngữ lặp trình
Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính, được thiết kế và chuẩn hóa để truyền các chỉ thị, các phép tính hay các thuật toán cho các máy tính có bộ xử lý (CPU) để tạo ra các phần mềm máy tính
Ngôn ngữ lập trình được chia thành các loại sau:
● Ngôn ngữ máy (Machine Language): Là ngôn ngữ mà nền tảng của bộ xử lý Tất cả các chương trình được viết bằng ngôn ngữ khác cuối cùng đều được chuyển thành ngôn ngữ máy trước khi nó được thực thi
● Hợp ngữ (Assembly Language): Là ngôn ngữ lập trình bậc thấp Có chức năng giúp người dùng giao tiếp với phần cứng ví dụ như trình điều khiển thiết bị, các
hệ thống nhúng cấp thấp và các ứng dụng thời gian thực