LỜI CẢM ƠN
Sau hơn hai tháng nghiên cứu, nhóm em đã hồn thành đề tài đồ án tốt
nghiệp “ Tìm hiểu về phần mềm Python – đi sâu ứng dụng nhận dạng giọng
nói để điều khiển PLC”.
Để hồn thành đồ án tốt nghiệp này, ngoài sự cố gắng nỗ lực của các
thành viên trong nhóm. Bên cạnh đó cũng nhờ các thầy cô trong bộ môn Điện tự
động công nghiệp trong khoa Điện – Điện tử đã giảng dạy truyền đạt cho chúng
em những kiến thức, kinh nghiệm để có thể áp dụng giải quyết những vấn đề
trong đồ án này. Đặc biệt, chúng em xin gửi lời cảm ơn chân thành đến thầy
ThS. Trần Tiến Lương đã tận tình giúp đỡ chúng em hoàn thành đồ án tốt nghiệp
này.
Tuy nhiên trong quá trình nghiên cứu đồ án tốt nghiệp, do kiến thức hạn
chế nên chúng em vẫn còn nhiều thiếu sót. Chúng em rất mong được sự góp ý
của các thầy cô giảng viên bộ môn để đồ án tốt nghiệp của nhóm em hồn thiện
hơn.
Hải Phịng, ngày 30 tháng 5 năm 2021
Nhóm sinh viên thực hiện
1
LỜI CAM ĐOAN
Chúng em xin cam đoan đồ án tốt nghiệp là cơng trình nghiên cứu của
nhóm dưới sự hướng dẫn của thầy Trần Tiến Lương. Những nội dung trong đồ
án được nhóm em tìm hiểu, hồn thành một cách nghiêm túc và trung thực,
không sao chép kết quả các đề tài nghiên cứu khác. Nếu như phát hiện sao chép,
nhóm em xin hồn tồn chịu trách nhiệm.
Hải Phịng, ngày 30 tháng 5 năm 2021
Nhóm sinh viên thực hiện
MỤC LỤC
2
DANH MỤC BẢNG
Bảng số
3.1
3.2
3.3
3.4
3.5
Tên bảng
Thông số kỹ thuật cảm biến tiệm cận CR18-8DP
Thông số kỹ thuật Xylanh CDJ2D10-50B
Thông số kỹ thuật van điện từ 4V210-08
Thông số kỹ thuật máy nén khí Fini Tiger MK-245
Bảng tín hiệu vào/ ra PLC
3
Trang
42
44
45
46
46
DANH MỤC HÌNH ẢNH
Hình số
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
Tên hình
Trí tuệ nhân tạo AI
Định hướng phát triển AI trong tương lai
Machine Learning
Mạng thần kinh nhân tạo
Bài toán nhận diện con mèo
AI trong thương mại điện tử
Robot phẫu thuật
Ơ tơ tự lái
Các ứng dụng trợ lý ảo phổ biến hiện nay
Sơ đồ nguyên lý nhận dạng giọng nói
Nguyên lý nhận dạng giọng nói của Amazon Echo
Chạy python trên Terminal
Phần mềm Visual Studio Code
Cài đặt Package-name
Gỡ cài đặt Package-name
Cài đặt Pyttsx3
Cài đặt Speechrecognition
Cài đặt Pyaudio
Cài đặt Pipwin
Cài đặt Pyaudio
Cài đặt OpenOPC
Cửa sổ tkinter
Nút ấn trong Tkinter
Cửa số Tkinter sử dụng nền ảnh
Sơ đồ thuật toán chương trình
Cấu trúc giao tiếp PLC và Python qua Ethernet
Cấu trúc giao tiếp bằng Modbus
Cấu trúc giao tiếp qua Kepserverex
Sơ đồ khối mơ hình phân loại sản phẩm
PLC FX5UJ - 40MT/ES
Sơ đồ ngõ vào PLC FX5UJ
Sơ đồ ngõ ra PLC FX5UJ
Cảm biến LX 101
Sơ đồ đấu dây của cảm biến LX 101
Mặt hiển thị của cảm biến LX 101
Cảm biến tiệm cận CR18-8DP
Sơ đồ đấu nối cảm biến CR18-8DP
Sơ đồ kết nối
Xy lanh CDJ2D10-50B
Van điện từ 4V210-08
4
Trang
1
2
2
4
4
6
6
7
8
8
9
13
14
15
15
16
17
17
17
18
19
20
21
22
23
24
24
25
36
37
39
39
40
41
41
42
43
43
44
44
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
3.24
3.25
Cấu tạo bên trong van điện từ 4V210-08
Máy nén khí Fini Tiger MK-245
Sơ đồ kết nối PLC
Sơ đồ các tín hiệu rơ le trung gian đầu ra PLC
Lưu đồ thuật tốn PLC
Chương trình PLC (1/3)
Chương trình PLC (2/3)
Chương trình PLC (3/3)
Mơ hình điều khiển
Program Windows
Lệnh khởi động hệ thống
Lệnh dừng hệ thống
Lệnh tắt chương trình
45
45
48
49
49
50
50
51
53
53
54
54
55
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Hiện nay với sự phát triển không ngừng của khoa học kỹ thuật, các ngơn
ngữ lập trình ngày càng phát triển mạnh mẽ trong việc lập trình nhận diện giọng
nói. Ngày nay, việc ứng dụng nhận diện giọng nói đã được áp dụng và giữ vai
trò rất quan trong rất nhiều các lĩnh vực: Kỹ thuật, y tế, công nghệ,...nó nhằm
mục đích tăng năng st, giảm sức lao động của con người để đáp ứng các nhu
cầu kỹ thuật hiện đại và nó cịn mở ra một chân trời mới để chúng ta khai thác
và đơn giản hóa cuộc sống của con người.
Từ các yếu tố trên mà đề tài “ Tìm hiểu về phần mềm Python – đi sâu
ứng dụng nhận dạng giọng nói để điều khiển PLC” nhằm giải quyết những khó
khăn về tự động hóa trong hệ thống.
2. Mục đích nghiên cứu
Nghiên cứu lập trình nhận diện giọng nói bằng ngơn ngữ Python.
Giao tiếp giữa PLC với máy tính để xây dựng hệ thống điều khiển PLC
bằng giọng nói.
3. Đối tượng nghiên cứu và phạm vi nghiên cứu
a.Đối tượng nghiên cứu
5
Ngơn ngữ lập trình Python.
PLC Mitsubishi FX5UJ và phần mềm lập trình GX work 3
Giao tiếp giữa ngơn ngữ Python với PLC.
b.Phạm vi nghiên cứu
Thực hành điều khiển giọng nói trên mơ hình phân loại sản phẩm.
4. Phương pháp nghiên cứu
Sử dụng phương pháp phân tích và tổng hợp để hệ thống đầy đủ lý
thuyết được áp dụng lập trình. Sử dụng phương pháp suy luận trong quá trình
xây dựng chương trình điều khiển để đáp ứng các yêu cầu đặt ra. Sử dụng
phương pháp thực nghiệm để kiểm tra mơ hình hệ thống.
5. Ý nghĩa khoa học và thực tiễn của đề tài
a.Ý nghĩa khoa học
Nắm rõ được cách lập trình ngơn ngữ python và cách phương pháp kết
giao tiếp giữa PLC và máy tính để xây dựng hệ thống điều khiển PLC bằng
giọng nói, tăng tính ổn định, bền vững và có thể khắc phục các lỗi trong hệ
thống.
b.Ý nghĩa thực tiễn
Áp dụng xây dựng các hệ thống PLC thơng minh trong các nhà máy, xí
nghiệp trong tương lai.
6
7
CHƯƠNG 1: KHÁI QUÁT VỀ TRÍ TUỆ NHÂN TẠO VÀ NHẬN
DIỆN GIỌNG NĨI
1.1.Trí tuệ nhân tạo AI
1.1.1.Định nghĩa
Hình 1.1.Trí tuệ nhân tạo AI
Trí tuệ nhân tạo hay trí thơng minh nhân tạo – Artificial Inteligence (AI)
là trí tuệ do con người lập trình với mục tiêu giúp cho máy tính có thể tự động
hóa các hành vi và thơng minh như con người. Cụ thể trí tuệ nhân tạo giúp máy
tính có khả năng biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp
nhờ hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi.
Tuy nhiên trí tuệ nhân tạo AI ngày nay chưa thơng minh đến mức có thể
tư duy và đưa ra quyết định một cách độc lập, hay biết nhận thức. Hầu hết các hệ
thống hiện nay chưa đến gần được với khái niệm AI thực sự. Chúng chỉ hoạt
động dựa trên các thuật toán đã xác định trước và trong tầm kiểm sốt của con
người.
AI có thể được chia thành hai loại: AI hẹp (Narrow AI) và AI rộng
(General AI).
8
AI hẹp là một thuật ngữ được sử dụng để mơ tả các hệ thống trí tuệ nhân
tạo được chỉ định để xử lý nhiệm vụ đơn giản hạn chế. AI hẹp rất phổ biến tại
thời điểm hiện tại, nổi bật là các ứng dụng trợ lý ảo Siri, Cortana,… hay được sử
dụng trong Google để tìm kiếm thơng tin phù hợp với người sử dụng, phần mềm
nhận diện hình ảnh, khn mặt,…
AI rộng là mức cao nhất của trí tuệ nhân tạo hiện nay về mặt lý thuyết. Ở
mức này AI có cảm xúc vui, buồn như con người. Hiện tại AI rộng cịn đang
trong nghiên cứu.
Hình 1.2.Định hướng phát triển AI trong tương lai
Hiện tại thì AI mới dừng lại ở mức hẹp nhưng trong tương lai không xa
nó sẽ phát triển lên mức AI rộng và hơn thế nữa trở thành một siêu AI.
1.1.2.Các thuật toán AI
a.Machine Learning
Hình 1.3.Machine Learning
9
Machine learning ra đời vào cuối những năm 80 và đầu những năm 90.
Machine learning là một tập hợp con của AI. Nó cho phép máy tính hành động
và đưa ra quyết định dựa trên dữ liệu để thực hiện một nhiệm vụ nhất định. Các
chương trình này là các thuật tốn được thiêt kế theo cách mà chúng có thể học
hỏi và cải thiện theo thời gian khi tiếp xúc với dữ liệu mới.
Machine learning là một thuật ngữ để chỉ hành động máy tính tự học để
cải thiện một nhiệm vụ mà nó đang thực hiện. Bất kỳ một hệ thống nào mà hiệu
suất của máy tính khi thực hiện một nhiệm vụ sẽ trở nên tốt hơn sau khi hồn
thành nhiệm vụ đó nhiều lần.
Ví dụ về machine learning được sử dụng mỗi ngày mà ta có thể nhận
thấy là cơng cụ tìm kiếm google. Khi chúng ta đang tìm kiếm gì đó trên google,
nó sẽ trả lại rất nhiều kết quả tìm kiếm đó. Nếu bỏ nhiều thời gian để xem những
kết quả trả về hoặc có thể click vào đường link nào đó để đọc tiếp thì google sẽ
ghi nhận rằng người này đã dành nhiều thời gian ( chẳng hạn 5 phút) để xem
thông tin trả về. Điều này có nghĩa là thơng tin này hữu ích và phù hợp với
người này. Cịn nếu ta chỉ nhìn thống qua những kết quả trả về chỉ trong vài
giây google sẽ nhận ra những kết quả trả về này khơng phù hợp với người tìm
kiếm. Nó sẽ tự động điều chỉnh kết quả phù hợp với người tìm kiếm cho những
lần tìm kiếm sau.
b. Deep Learning
Deep learning có nghĩa là học sâu. Đây là một dạng thuật tốn giúp máy
tính học hỏi chun sâu từ một lượng thơng tin khổng lồ. Mơ hình học máy này
sẽ nghiên cứu các ví dụ từ dữ liệu có sẵn, sau đó nó sẽ được cung cấp dữ liệu
mới, và tiến hành xử lý các dữ liệu mới theo các dữ liệu có sẵn. Càng cung cấp
nhiều dữ liệu thì thuật tốn học máy càng thực hiện chính xác cơng việc của nó.
Một hệ thống hoạt động trên cơ sở học máy sâu sẽ có thể tìm ra được một quy
luật nào đó ngay cả khi chưa gặp trường hợp trước đây.
Deep learning sử dụng mạng thần kinh nhân tạo để phân tích dữ liệu về
nhiều chi tiết khác nhau bằng các thuật tốn mơ phỏng theo hệ thần kinh của con
người và thực hiện việc học hỏi từ một lượng lớn dữ liệu được cung cấp để giải
10
quyết những vấn đề cụ thể. Thuật toán Deep learning sẽ thực hiện nhiệm vụ
nhiều lần, mỗi lần tinh chỉnh nhiệm vụ một chút để cải thiện kết quả.
Hình 1.4.Mạng thần kinh nhân tạo
Mạng thần kinh nhân tạo hay còn gọi là mạng neural - một kiểu kiến trúc
phần mềm sao chép từ bộ não con người. Mạng nơ ron máy tính là các liên kết
của nơ ron điện tử có khả năng xử lý và phân loại thơng tin. Chúng có thể được
coi là các lớp và mỗi lớp chịu trách nhiệm về nhiệm vụ của mình, kết quả tạo
thành một bức tranh tổng thể. Ví dụ khi huấn luyện một mạng nơ ron để xử lý
hình ảnh của các đối tượng khác nhau. Nó sẽ tìm cách tiếp xúc các đối tượng từ
những hình ảnh này. Mỗi lớp của mạng nơ ron sẽ phát hiện ra các đặc tính nhất
định hình dạng, màu sắc, giới tính, độ tuổi.
Hình 1.5.Bài toán nhận diện con mèo
11
Bài tốn nhận diện con vật là ví dụ cơ bản về thuật tốn deep learning.
Nhiệm vụ máy tính lúc này là nhận biết hình ảnh đã cho là con chó hay con
mèo. Chẳng hạn nếu ta dạy máy tính nhận diện hình ảnh con mèo thì chúng ta sẽ
lập trình ra nhiều lớp trong mạng thần kinh nhân tạo. Mỗi lớp có khả năng xác
định một đặc điểm cụ thể của con mèo như râu, vuốt, chân. Rồi cho máy xem
hàng ngàn bức ảnh mèo khác nhau và chỉ ra rằng đây là con mèo và cùng hàng
ngàn bức ảnh không phải mèo và chỉ ra rằng đây không phải mèo. Khi mạng
thần kinh nhân tạo này xem hết các bức ảnh, các lớp sẽ dần nhận ra râu, vuốt,
chân.
Deep learning rất phổ biến trong các nền tảng lớn hiện nay như
Facebook, lazada, tiki. Khi mà các nền tảng này đều có hệ thống gợi ý rất mạnh
giúp tăng đáng kể độ tương tác của người dùng. Cụ thể là chúng dựa trên các dữ
liệu mà người dùng phát sinh ra khi sử dụng và tương tác trên các thiết bị có kết
nối internet để gợi ý thêm những sản phẩm họ sẽ thích (như trên các nền tảng
mua sắm), gợi ý các bài quảng cáo (như trên Facebook).
c. Deep Learning và Machine Learning
Thực tế deep learning là một tập hợp con của machine learning. Machine
learning sử dụng các thơng tin từ Deep learning để đưa ra quyết định.
Ví dụ sau khi Deep learning đã học được đâu ra xe ô tô, đâu là người đi
bộ, đâu là cái cây và khoảng cách với các vật phía trước thì machine learning sẽ
được áp dụng trong việc lái xe tự động. Nó sử dụng những thơng tin từ Deep
learning cung cấp, kếp hợp lại với nhau và phân tích. Nếu thấy vật cản ra quyết
định cho xe đi chậm lại. Đến ngã tư và nhận thấy đèn vàng, nó ra lệnh cho xe đi
chậm lại và chuẩn bị dừng đèn đỏ.
1.1.3.Ứng dụng
12
Hình 1.6.AI trong thương mại điện tử
AI trong thương mại điện tử: Cơng nghệ Trí tuệ nhân tạo được sử dụng
để tạo cơng cụ đề xuất mà qua đó bạn có thể tương tác tốt hơn với khách hàng
của mình. Những đề xuất này được đưa ra phù hợp với lịch sử duyệt web, sở
thích và sở thích của họ. Nó giúp cải thiện mối quan hệ của bạn với khách hàng
và lòng trung thành của họ đối với thương hiệu của bạn.
Hình 1.7.Robot phẫu thuật
AI trong chăm sóc sức khỏe: Trí tuệ nhân tạo tìm thấy các ứng dụng đa
dạng trong lĩnh vực chăm sóc sức khỏe. AI được sử dụng trong lĩnh vực chăm
sóc sức khỏe để tạo ra những cỗ máy tinh vi có thể phát hiện bệnh và xác định tế
bào ung thư. AI có thể giúp phân tích các tình trạng mãn tính với dữ liệu phòng
13
thí nghiệm và y tế khác để đảm bảo chẩn đoán sớm. AI sử dụng sự kết hợp của
dữ liệu lịch sử và trí thơng minh y tế để phát hiện ra các loại thuốc mới. AI trong
robot phẫu thuật.
Hình 1.8.Ơ tơ tự lái
AI trong ơ tơ: Trí tuệ nhân tạo được sử dụng để xây dựng các phương
tiện tự lái. AI có thể được sử dụng cùng với camera của xe, radar, dịch vụ đám
mây, GPS và các tín hiệu điều khiển để vận hành xe. AI có thể cải thiện trải
nghiệm trong xe và cung cấp các hệ thống bổ sung như phanh khẩn cấp, giám
sát điểm mù và đánh lái hỗ trợ người lái.
Ngồi ra cịn rất nhiều ứng dụng được sử dụng trong các lĩnh vực khác.
1.2.Nhận dạng giọng nói
1.2.1.Định nghĩa
Nhận dạng giọng nói hoặc người nói là khả năng của một máy hoặc
chương trình nhận và giải thích chính tả hoặc hiểu và thực hiện các lệnh bằng
giọng nói. Nhận dạng giọng nói đã trở nên nổi tiếng và được sử dụng với sự gia
tăng của AI và các trợ lý thông minh, chẳng hạn như Alexa của
Amazon, Siri của Apple và Cortana của Microsoft.
14
Hình 1.9.Các ứng dụng trợ lý ảo phổ biến hiện nay
Hệ thống nhận dạng giọng nói cho phép người tiêu dùng tương tác với
cơng nghệ chỉ bằng cách nói chuyện với nó, cho phép các yêu cầu rảnh tay, lời
nhắc và các tác vụ đơn giản khác.
1.2.2.Cách nhận dạng giọng nói hoạt động
Hình 1.10.Sơ đồ ngun lý nhận dạng giọng nói
Hệ thống nhận dạng giọng nói cơ bản bao gồm:
Thiết bị ghi âm giọng nói: Nó bao gồm một micro, chuyển đổi tín hiệu
sóng âm thanh thành tín hiệu điện và bộ chuyển đổi tương tự kỹ thuật
15
số của nó sẽ lấy mẫu và và số hóa tín hiệu tương tự để thi được dữ liệu
rời rạc mà máy tính có thể hiểu được.
Bộ xử lý tín hiêu DSP: Thực hiện xử lý tín hiệu giọng nói thơ như
chuyển đổi miền tần số, chỉ khơi phục thơng tin được u cầu,…
Lưu trữ tín hiệu: Tín hiệu được xử lý trước được lưu trữ trong bộ nhớ
để thực hiện nhiệm vụ nhận dạng giọng nói.
Các mẫu giọng nói tham chiếu: Máy tính hoặc hệ thống bao gồm các
mẫu giọng nói được xác định trước hoặc các mẫu đã được lưu trữ
trong bộ nhớ, được sử dụng làm tham chiếu để đối sánh.
Thuật toán đối sánh mẫu: Tín hiệu giọng nói khơng xác định được so
sánh với mẫu giọng nói tham chiếu để xác định các từ.
Ví dụ về trí tuệ nhân tạo trong thế giới ngày nay – Amazon Echo. Là một
công cụ hữu ích mà chúng ta có thể điều khiển nó bằng giọng nói.
Hình 1.11.Ngun lý nhận dạng giọng nói của Amazon Echo
Khi người điều khiển nói, Amazon Echo sẽ chuyển giọng nói thành tín
hiệu kỹ thuật số ( gồm số 0 và 1) hoặc một dạng tín hiệu nào đó mà máy tính có
thể hiểu được. Kế tiếp, chương trình máy tính sẽ xử lý thơng tin đó để xác định
những gì người dùng đang hỏi, thơng tin cần là gì và nơi nào để lấy được thông
16
tin đó. Sau khi đã xử lý xong nó sẽ đáp ứng những yêu cầu của người dùng trong
phạm vi có thể.
1.2.3.Sử dụng nhận dạng giọng nói
Việc sử dụng nhận dạng giọng nói đã phát triển nhanh chóng khi AI, máy
học và sự chấp nhận của người tiêu dùng đã trưởng thành. Các trợ lý kỹ thuật số
nội bộ từ Google, Amazon đến Apple đều đã triển khai phần mềm nhận dạng
giọng nói để tương tác với người dùng. Cách người tiêu dùng sử dụng cơng nghệ
nhận dạng giọng nói khác nhau tùy thuộc vào sản phẩm, nhưng nó có thể bao
gồm chuyển giọng nói thành văn bản, thiết lập lời nhắc, tìm kiếm trên internet
và trả lời các câu hỏi và yêu cầu đơn giản, chẳng hạn như phát nhạc hoặc chia sẻ
thông tin thời tiết hoặc giao thông.
1.2.4.Lập trình nhận dạng giọng nói
Ngày nay, với sự phát triển của các ngơn ngữ lập trình bậc cao, chúng ta
có thể dễ dàng lập trình nhận dạng giọng nói cho máy tính. Chỉ cần cài đặt ngơn
ngữ lập trình và thư viện nhận dạng giọng nói của ngơn ngữ đó, có thể viết
được chương trình này cho máy tính. Và ngơn ngữ python là một trong những
ngơn ngữ có thể hỗ trợ công việc này.
17
CHƯƠNG 2. KHÁI QT VỀ NGƠN NGỮ LẬP TRÌNH
PYTHON, XÂY DỰNG GIAO TIẾP GIỮA PYTHON VỚI PLC
2.1.Ngôn ngữ python
2.1.1.Khái quát về ngôn ngữ python
a.Định nghĩa
Python là một ngôn ngữ lập trình đa nền tảng, có nghĩa là nó có thể chạy
trên nhiều nền tảng như Windows, macOS, Linux và thậm chí đã được chuyển
sang các máy ảo Java và .NET. Nó là miễn phí và mã nguồn mở. Nó được sử
dụng trong phát triển web, khoa học dữ liệu, tạo nguyên mẫu phần mềm,…
b.Các tính năng của Python
Dễ viết: Python là một ngơn ngữ lập trình cấp cao. Python rất dễ học
ngôn ngữ so với các ngôn ngữ khác như C, C #, Javascript, Java, v.v. Nó
rất dễ viết mã bằng ngôn ngữ python và bất kỳ ai cũng có thể học những
điều cơ bản về python trong vài giờ hoặc vài ngày. Nó cũng là một ngơn
ngữ thân thiện với nhà phát triển.
Miễn phí và mã nguồn mở: Ngơn ngữ Python được cung cấp miễn phí tại
trang web chính thức. Vì nó là mã nguồn mở, điều này có nghĩa là mã
nguồn cũng có sẵn cho cơng chúng. Vì vậy, ta có thể tải xuống, sử dụng
cũng như chia sẻ nó.
18
Ngơn ngữ hướng đối tượng: Một trong những tính năng chính của
python là lập trình hướng đối tượng. Python hỗ trợ ngôn ngữ hướng đối
tượng và các khái niệm về lớp, đóng gói đối tượng,…
Hỗ trợ lập trình GUI: Giao diện người dùng đồ họa có thể được tạo bằng
cách sử dụng một mô-đun như PyQt5, PyQt4, wxPython hoặc Tk trong
python.
Ngôn ngữ cấp cao: Python là một ngơn ngữ cấp cao. Khi chúng ta viết
chương trình bằng python, chúng ta không cần nhớ kiến trúc hệ thống,
cũng như khơng cần quản lý bộ nhớ.
Tính năng có thể mở rộng: Python là một ngơn ngữ có thể mở
rộng . Chúng tơi có thể viết cho chúng tơi một số mã Python sang ngôn
ngữ C hoặc C ++ và chúng tơi cũng có thể biên dịch mã đó bằng ngôn
ngữ C / C ++.
Ngôn ngữ di động: Ngôn ngữ Python cũng là một ngôn ngữ di động. Ví
dụ: nếu chúng ta có mã python cho windows và nếu chúng ta muốn chạy
mã này trên các nền tảng khác như Linux, Unix và Mac thì chúng ta
khơng cần phải thay đổi nó, chúng ta có thể chạy mã này trên bất kỳ nền
tảng nào.
Python là ngôn ngữ tích hợp: Python cũng là một ngơn ngữ tích hợp vì
chúng ta có thể dễ dàng tích hợp python với các ngôn ngữ khác như C,
C ++,…
Ngôn ngữ thông dịch: Python là một ngơn ngữ thơng dịch vì mã Python
được thực thi từng dịng một. giống như các ngơn ngữ khác C, C ++,
Java,... không cần phải biên dịch mã python, điều này làm cho việc gỡ
lỗi mã của chúng tôi trở nên dễ dàng hơn. Mã nguồn của python được
chuyển đổi thành một dạng ngay lập tức được gọi là bytecode.
19
Thư viện tiêu chuẩn lớn: Python có một thư viện tiêu chuẩn lớn cung
cấp một tập hợp các mô-đun và chức năng phong phú, do đó bạn khơng
cần phải viết mã của riêng mình cho mọi thứ. Có nhiều thư viện hiện
diện trong python chẳng hạn như biểu thức chính quy, kiểm tra đơn vị,
trình duyệt web,…
c.Lệnh và cấu trúc điều khiển
Lệnh trong python đơn giản hơn các ngôn ngữ khác không cần phải kết
thúc bằng bất cứ ký tự gì.
Python cũng có các cấu trúc điều khiển:
Cấu trúc rẽ nhánh: if elif else.
Cấu trúc lặp: while, for.
Từ khóa class để khai báo lớp ( sử dụng trong lập trình hướng đối
tượng).
Lệnh Def: để định nghĩa hàm.
d.Ứng dụng
YouTube, Instagram và Quora là một trong vô số các trang web sử dụng
Python. Phần lớn mã của Dropbox là Python (nơi Van Rossum hiện đang làm
việc), Python đã được sử dụng rộng rãi bởi hãng hiệu ứng đặc biệt kỹ thuật số
ILM (cơng ty có tác phẩm trải dài trên tất cả các bộ phim Chiến tranh giữa các
vì sao và Marvel).
2.1.2.Phần mềm chạy python
Có thể nhập trực tiếp các câu lệnh của python trên Terminal – là một
cơng cụ có sẵn của hệ điều hành Window.
20
Hình 2.1.Chạy python trên Terminal
Tuy nhiên để thuận tiện hơn trong việc lập trình có thể chạy python trong
mơi trường phát triển tích hợp (IDE). IDE tích hợp sẵn trình biên dịch hoặc trình
thơng dịch bên trong nó giúp bạn thực thi code trực tiếp khi đang lập trình ứng
dụng, tiêu biểu như Visual Studio, Esclipe, Xcode, Android studio…v.v. Và khi
viết chương trình trên các phần mềm này ta chỉ cần lưu file với đi .py có thể
chạy chương trình trên Command Prompt.
Một trong những phần mềm phổ biến và dễ dàng để lập trình là Visual
Studio Code. Nó là một trình soạn thảo mã nguồn nhẹ nhưng mạnh mẽ, chạy
trên máy tính và có sẵn cho windows, macOS và Linux. Nó đi kèm với hỗ trợ
tích hợp cho JavaScript, TypeScript và Node.js và có một hệ sinh thái mở rộng
phong phú cho các ngôn ngữ khác ( chẳng hạn như C++, C#, Java, Python, PHP,
Go).
21
Hình 2.2.Phần mềm Visual Studio Code
2.2.Các thư viện sử dụng
2.2.1.Giới thiệu về Pip trong Python
PIP là một trình quản lý thư viện cho Python, viết tắt của từ Preferred
Installer Program. Đây là một tiện ích dịng lệnh cho phép bạn cài đặt, cài đặt
lại hoặc gỡ cài đặt các gói PyPI bằng một dòng lệnh đơn giản và dễ hiểu: pip.
PIP đã được cài đặt sẵn trong python ở các phiên bản mới ngày nay.
Với hệ điều hành Windows, mở Command Prompt bằng Windows key
+ X và chọn Command Prompt.
Trên Mac, mở Terminal bằng Command + Space và tìm kiếm
terminal.
Trên Linux, mở Terminal bằng Ctrl + Alt + T.
Sau đó cài đặt các package từ PyPI như sau: pip install package-name.
22
Hình 2.3.Cài đặt Package-name
Khi máy báo Successfully installed có nghĩa là thư viện đã được cài đặt
thành công.
Tương tự ta có thể thay package-name bằn tên các gói thư viện mà
python hỗ trợ, ví dụ như: PyGame - Thao tác đồ họa, Pillow - Xử lý hình ảnh,
Matplotlib - Vẽ đồ thị 2D, Speech recognition - nhận diện giọng nói,…
Ngồi các gói thư viện cần cài đặt thêm thì trong python đã tích hợp sẵn
nhiều gói thư viện có thể sử dụng luôn như: tkinter - Giao diện đồ họa, datetime
- thư viện thời gian,…
Thoát khỏi một package: pip uninstall package-name.
Sau đó xác nhận bằng (y/n) – yes or no.
Hình 2.4.Gỡ cài đặt Package-name
23
2.2.2.Thư viện chuyển văn bản thành giọng nói Pyttsx3
2.2.2.1.Khái niệm
Pyttsx3 là một thư viện chuyển đổi văn bản thành giọng nói bằng
Python. Khơng giống như các thư viện thay thế, nó hoạt động ngoại tuyến và
tương thích với cả Python 2 và 3.
Các tính năng chuyển văn bản thành giọng nói cho mơ-đun này dựa trên
các ngơn ngữ được cài đặt trong hệ điều hành của người sử dụng. Theo mặc
định, nó sẽ đi kèm với gói ngơn ngữ trong q trình cài đặt hệ điều hành. Cần
cài đặt gói ngôn ngữ theo cách thủ công nếu định sử dụng các ngơn ngữ khác.
2.2.2.2.Thiết lập
pip install pyttsx3
Hình 2.5.Cài đặt Pyttsx3
2.2.3.Thư viện nhận diện giọng nói Speech_recognition
2.2.3.1.Khái niệm
Speech_recognition là thư viện để thực hiện nhận dạng giọng nói, với sự
hỗ trợ cho một số công cụ và API, trực tuyến và ngoại tuyến.
24
Ngồi ra do chương trình điều khiển sử dụng đầu vào là Micro nên thư
viện Pyaudio được yêu cầu cài đặt.
2.2.3.2.Thiết lập
pip install speechrecognition
Hình 2.6.Cài đặt Speechrecognition
pip install pyaudio
Hình 2.7.Cài đặt Pyaudio
Trong trường hợp cài đặt thư viện pyaudio bị lỗi (các máy tính chạy
HĐH Window hay gặp lỗi này), nguyên nhân là do pyaudio chỉ hỗ trợ python
2.7 và python 3.4 đến 3.6, nếu như máy cài phiên bản python 3.7 trở lên có thể
fix bằng 2 dịng lệnh sau:
pip install pipwin
pipwin install pyaudio
25